chore(specs): update BEP regarding multiple cluster config messages #932
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 :)