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.
This adds a version number to the
SubscribeMessage
sent at the beginning of each protocol session, and checks that it matches the current version (or a list of supported backward compatible versions which currently only contains the current version).Whether we use this version number to indicate changes in only the protocol message format, or also changes in the protocols themselves is unclear. Both would work, and i don't think we need separate version numbers for each.
We could also add a version number to
ProtocolMessage
, but i decided not to. I think it is enough to check the version once at the beginning of each protocol session - i don't think we need to check individual messages during a session as well.As for the type, i went with
u32
- but could switch to something else for example people want semantic versioning.