-
Notifications
You must be signed in to change notification settings - Fork 21
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
Mix: Add connection maintenance #928
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
youngjoon-lee
force-pushed
the
mix-conn-monitor
branch
from
December 4, 2024 08:31
06a741f
to
af08514
Compare
youngjoon-lee
commented
Dec 4, 2024
youngjoon-lee
commented
Dec 4, 2024
danielSanchezQ
approved these changes
Dec 6, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think it is much clearer now! Thanks for the extra effort!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
1. What does this PR implement?
For spam protection and resiliency, the Tier 1 design contains the Connection Maintenance, which measures frequencies of several incoming messages, and close/open connections to maintain the reasonable quality of delivery.
How frequencies are measured is defined in the Frequencies Measurement. How to close/open connections is defined in here.
This PR implements all mentioned above.
Plus, this implementation provides an option to disable it. Ideally, all nodes should enable connection maintenance. However, we are not sure what much frequency we should expect yet. If we set the threshold too high or small, the protocol would close too many healthy connections than intended. The estimation is not simple even though we have the persistent transmission, because of the immediate forwarding.
I will run tests soon with multiple (virtual) nodes to measure the actual frequencies, so that we can provide the recommended parameters to set for the connection maintenance.
2. Does the code have enough context to be clearly understood?
Yes
3. Who are the specification authors and who is accountable for this PR?
@youngjoon-lee @madxor
4. Is the specification accurate and complete?
Yes
5. Does the implementation introduce changes in the specification?
No
Checklist
Warning
Do not merge the PR if any of the following is missing: