-
Notifications
You must be signed in to change notification settings - Fork 679
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
Feat/nakamoto block push #4877
Feat/nakamoto block push #4877
Conversation
…o keep them separate from new Nakamoto functionality
…/unsolicited.rs), and implement unsolicited NakamotoBlock validation and handling
…blocks. Also, removes tests that are now in net/tests/relay/epoch2x.rs
…ber of buffered messages for each kind of buffered data message we support (including Nakamoto blocks)
…ey can be processed by the relayer
…-- both when we buffer it, and when we relay it
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.
Mostly pretty light comments. There's a couple comments where the behavior seems like it could be off, and I'm a little worried about the block.clone()
usage.
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.
lgtm!
Co-authored-by: Brice Dobry <[email protected]>
…or-pr-4877 Add skip header for timeout mutants - pr #4877 related
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This PR implements #3825 by expanding the relayer logic to both (1) push novel Nakamoto blocks to neighbors, and (2) buffer unsolicited Nakamoto blocks so they can be processed whenever their sortition arrives.
In addition, this PR does some housekeeping by:
src/net/unsolicited.rs
)src/net/tests/relay/epoch2x.rs
)src/net/relay.rs
).Most of the delta in this PR is just housekeeping -- i.e. moving code around and refactoring.
This is a draft for now because I'd like to add some more tests, but the unit tests that are present verify that unsolicited Nakamoto block buffering works, and verify that a follower node can boot up from blocks pushed to it by a seed node.