Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
5452-Document-distributions-flags-that-will-bec...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5452-Document-distributions-flags-that-will-become-mandat.patch of Package erlang
From 64e4af6d4c517bc93ab37fb3bf3531d6238ea7df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org> Date: Mon, 21 Jun 2021 08:22:43 +0200 Subject: [PATCH 2/3] Document distributions flags that will become mandatory --- erts/doc/src/erl_dist_protocol.xml | 31 ++++++++++++------- .../upcoming_incompatibilities.xml | 31 +++++++++++++++++++ 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/erts/doc/src/erl_dist_protocol.xml b/erts/doc/src/erl_dist_protocol.xml index 74823b9368..72a2fc17ba 100644 --- a/erts/doc/src/erl_dist_protocol.xml +++ b/erts/doc/src/erl_dist_protocol.xml @@ -988,7 +988,7 @@ DiB == gen_digest(ChA, ICA)? <tag><c>-define(DFLAG_EXTENDED_REFERENCES,16#4).</c></tag> <item> <p>The node implements extended (3 × 32 bits) references. This - is required today. If not present, the connection is refused.</p> + flag is mandatory. If not present, the connection is refused.</p> </item> <tag><c>-define(DFLAG_DIST_MONITOR,16#8).</c></tag> <item> @@ -997,7 +997,8 @@ DiB == gen_digest(ChA, ICA)? <tag><c>-define(DFLAG_FUN_TAGS,16#10).</c></tag> <item> <p>The node uses separate tag for funs (lambdas) in the distribution - protocol.</p> + protocol.</p> + <note><p>This flag will become mandatory in OTP 25.</p></note> </item> <tag><c>-define(DFLAG_DIST_MONITOR_NAME,16#20).</c></tag> <item> @@ -1009,28 +1010,34 @@ DiB == gen_digest(ChA, ICA)? </item> <tag><c>-define(DFLAG_NEW_FUN_TAGS,16#80).</c></tag> <item> - <p>The node understands the <seeguide marker="erl_ext_dist#NEW_FUN_EXT"> - <c>NEW_FUN_EXT</c></seeguide> tag.</p> + <p>The node understands the <seeguide + marker="erl_ext_dist#NEW_FUN_EXT"> + <c>NEW_FUN_EXT</c></seeguide> tag. This flag is + mandatory. If not present, the connection is refused.</p> </item> <tag><c>-define(DFLAG_EXTENDED_PIDS_PORTS,16#100).</c></tag> <item> - <p>The node can handle extended pids and ports. This is required - today. If not present, the connection is refused.</p> + <p>The node can handle extended pids and ports. This + flag is mandatory. If not present, the connection is + refused.</p> </item> <tag><c>-define(DFLAG_EXPORT_PTR_TAG,16#200).</c></tag> <item> <p>The node understands the <seeguide marker="erl_ext_dist#EXPORT_EXT"> - <c>EXPORT_EXT</c></seeguide> tag.</p> + <c>EXPORT_EXT</c></seeguide> tag.</p> + <note><p>This flag will become mandatory in OTP 25.</p></note> </item> <tag><c>-define(DFLAG_BIT_BINARIES,16#400).</c></tag> <item> <p>The node understands the <seeguide marker="erl_ext_dist#BIT_BINARY_EXT"> - <c>BIT_BINARY_EXT</c></seeguide> tag.</p> + <c>BIT_BINARY_EXT</c></seeguide> tag.</p> + <note><p>This flag will become mandatory in OTP 25.</p></note> </item> <tag><c>-define(DFLAG_NEW_FLOATS,16#800).</c></tag> <item> <p>The node understands the <seeguide marker="erl_ext_dist#NEW_FLOAT_EXT"> - <c>NEW_FLOAT_EXT</c></seeguide> tag.</p> + <c>NEW_FLOAT_EXT</c></seeguide> tag.</p> + <note><p>This flag will become mandatory in OTP 25.</p></note> </item> <tag><c>-define(DFLAG_UNICODE_IO,16#1000).</c></tag> <item> @@ -1050,12 +1057,14 @@ DiB == gen_digest(ChA, ICA)? <seeguide marker="erl_ext_dist#ATOM_UTF8_EXT"> <c>ATOM_UTF8_EXT</c></seeguide> and <seeguide marker="erl_ext_dist#SMALL_ATOM_UTF8_EXT"> - <c>SMALL ATOM_UTF8_EXT</c></seeguide>.</p> + <c>SMALL ATOM_UTF8_EXT</c></seeguide>. This flag is + mandatory. If not present, the connection is refused.</p> </item> <tag><c>-define(DFLAG_MAP_TAG, 16#20000).</c></tag> <item> <p>The node understands the map tag <seeguide marker="erl_ext_dist#MAP_EXT"><c>MAP_EXT</c></seeguide>.</p> + <note><p>This flag will become mandatory in OTP 25.</p></note> </item> <tag><marker id="DFLAG_BIG_CREATION"/><c>-define(DFLAG_BIG_CREATION, 16#40000).</c></tag> <item> @@ -1063,7 +1072,7 @@ DiB == gen_digest(ChA, ICA)? <seeguide marker="erl_ext_dist#NEW_PID_EXT"><c>NEW_PID_EXT</c></seeguide>, <seeguide marker="erl_ext_dist#NEW_PORT_EXT"><c>NEW_PORT_EXT</c></seeguide> and <seeguide marker="erl_ext_dist#NEWER_REFERENCE_EXT"><c>NEWER_REFERENCE_EXT</c></seeguide>. - </p> + This flag is mandatory. If not present, the connection is refused.</p> </item> <tag><c>-define(DFLAG_SEND_SENDER, 16#80000).</c></tag> <item> diff --git a/system/doc/general_info/upcoming_incompatibilities.xml b/system/doc/general_info/upcoming_incompatibilities.xml index a633cbd4b2..7ee52b9c72 100644 --- a/system/doc/general_info/upcoming_incompatibilities.xml +++ b/system/doc/general_info/upcoming_incompatibilities.xml @@ -34,4 +34,35 @@ <p>This document lists planned upcoming potential incompatibilities in Erlang/OTP.</p> </section> + + <section> + <title>OTP 25</title> + <section> + <title>Distribution flags will become mandatory</title> + <p>In OTP 25, more <seeguide + marker="erts:erl_dist_protocol#dflags">distribution + flags</seeguide> will become mandatory. That is, Erlang nodes + will refuse to connect to nodes not implementing all of the + mandatory distribution flags. If you implement the Erlang + distribution protocol yourself, you will need to implement + support for all mandatory distribution flags in order to + communicate with Erlang nodes running OTP 25.</p> + <p>The following distribution flags will become mandatory in OTP + 25:</p> + <taglist> + <tag><c>DFLAG_BIT_BINARIES</c></tag> + <item>Support for bitstrings.</item> + <tag><c>DFLAG_EXPORT_PTR_TAG</c></tag> + <item>Support for external funs (<c>fun Module:Name/Arity</c>).</item> + <tag><c>DFLAG_MAP_TAGS</c></tag> + <item>Support for maps.</item> + <tag><c>DFLAG_NEW_FLOATS</c></tag> + <item>Support for the new encoding of floats.</item> + <tag><c>DFLAG_FUN_TAGS</c></tag> + <item>Support for funs, but only in the new format + (<c>NEW_FUN_EXT</c>) because <c>DFLAG_NEW_FUN_TAGS</c> is also + mandatory.</item> + </taglist> + </section> + </section> </chapter> -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor