Skip to content

Commit d932ef5

Browse files
authored
chore(specs): update BEP regarding multiple cluster config messages (#932)
Syncthing is already sending multiple cluster configs for a long time - reflect that in the spec. I added the SHOULD part about closing the connection if multiple CCs aren't supported with the intention to keep the spec change backwards compatible and have reasonable behaviour, which this imo provides. I noticed we don't specify what the compatibility expectations can be on the BEP - I just assumed a broad, rather generous variant, i.e. that the use-case outlined in the intro continuous to function between to clients implementing the spec before and after a change. Of course in reality only the connection to syncthing's compatibility guarantee really matters, i.e. that two syncthing versions before and after keep syncing fine, as there's no other significantly adopted BEP implementations - I just still have a soft spot for the mere possibility of independent implementations :)
1 parent bd61896 commit d932ef5

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

specs/bep-v1.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,9 @@ Cluster Config
221221
This informational message provides information about the cluster
222222
configuration as it pertains to the current connection. A Cluster Config
223223
message MUST be the first post authentication message sent on a BEP
224-
connection. Additional Cluster Config messages MUST NOT be sent after the
225-
initial exchange.
224+
connection. Additional Cluster Config messages MAY be sent after the initial
225+
exchange to change the connection in place with the update configuration. If an
226+
implementation does not support that, it SHOULD close the connection.
226227

227228
Protocol Buffer Schema
228229
~~~~~~~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)