test: finish Category B 5.1 P2P journeys and fold guts - #479
Merged
Conversation
One mature-pad journey covers HB compact, missing-tx getblocktxn connect, and orphan child-then-parent accept. The timeout pad now pins GetAddr 1000/cache, headers-sync stall replace, and self-connect. Fold overlapping compact/orphan guts and collapse the four GetAddr cache units onto one bind-key/TTL table. Keep feeler silence, eviction ranking, park-not-reject logs, and tokio-worker lock. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
The timeout pad already disconnects a stalling inbound, so drop that heartbeat unit. Fold pre-verack peertimeout math into the V2 timeout log case, and run inbound/outbound/feeler/plain silence timeouts as one test. Sole-preferred stall KEEP stays. Co-authored-by: Cursor <cursoragent@cursor.com>
5 tasks
This file contains hidden or 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
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.
Summary
#478 merged feeler complete-and-close and inbound-full reject only. This finishes Category B 5.1 on current
master: fewer default journeys, more asserts, overlapping guts deleted.p2p_timeout_getaddr_and_keepalive_ping: existing ping / v1-magic / AddrFetch, plus full-relay GetAddr 1000, headers-sync stall replace (mock past download timeout), self-connect refuses. AddrFetch still uses a 1-addr book after cache expiry son > 1does not ban.p2p_compact_hb_getblocktxn_and_orphan(replaces three tests): one mature pad — HB coinbase compact, 2-tx compact →getblocktxn+ connect, orphan child GetData then parent accept (INV of parked child is AlreadyHave).cmpct_announcehelper, apply-blocktxn helper, parked-orphan INV, four GetAddr cache tests → one bind-key/TTL table, stall heartbeat twin, pre-verack peertimeout math into the V2 timeout log case, four handshake-silence tests → one.Test plan
p2p_timeout_getaddr_and_keepalive_pingp2p_compact_hb_getblocktxn_and_orphanp2p_feeler_completes_and_closes/p2p_inbound_full_rejects_extragetaddr_cache_bind_key_and_ttl/ remaining parked_orphan / compact helper / combined handshake silence unitsfmt,deny,clippy,ast-grep,test,windows,macos,multinode,coverage)Made with Cursor