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.
Active EBT sessions were previously tracked primarily using the request ID. This becomes problematic when multiple EBT sessions are active at the same time, since every peer starts with request number 1. Since each new connection is assigned a unique ID, this provides a natural mechanism for more accurately associating session events with a given peer.
The connection ID is now included in
SendMessage
andSendClock
events. The MUXRPC EBT handler, upon receiving such an event, can then compare the connection ID against the connection ID it was invoked with - acting only if the two match. Other running instances of the handler will simply ignore those events which were not intended for them.Session tracking still needs more work but there are steps in the right direction.
This PR is also in the process of making improvements to the handling of
SessionConcluded
,SessionTimeout
andSessionError
events.Perhaps most importantly, this PR fixes #89
There are still myriad entanglements between the EBT session manager and EBT MUXRPC handler; separation can come later.