fix: Don't require _every_ message to contain procedure information #32
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.
Previously we had the requirement that every single message in a stream had to have the service name + procedure. But that's very wasteful and also kind of awkward to be saving in other implementations.
This change does a little refactor so that the server no longer relies on having this information in every message in a stream. In doing this refactor, we also now can reason about what the first message is, and can now correctly validate that the initialization message is received first and then all future messages only comply with the regular input type. Also fixed a bug where an overly zealous listener would incorrectly close all streams upon the first close message.
Do yourself a favor and review this with whitespace turned off.