Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved EBT session tracking #91

Merged
merged 10 commits into from
Feb 6, 2024
Merged

Conversation

mycognosist
Copy link
Owner

@mycognosist mycognosist commented Feb 2, 2024

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 and SendClock 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 and SessionError 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.

@mycognosist mycognosist changed the title [WIP] Improved EBT session tracking Improved EBT session tracking Feb 6, 2024
@mycognosist mycognosist merged commit 5f9c961 into main Feb 6, 2024
1 check passed
@mycognosist mycognosist deleted the improved_ebt_session_tracking branch February 6, 2024 07:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

EBT session concludes immediately when acting as responder after timeout
1 participant