Skip to content

test: finish Category B 5.1 P2P journeys and fold guts - #479

Merged
reardencode merged 3 commits into
masterfrom
test/p2p-b51-fold
Sep 13, 2026
Merged

test: finish Category B 5.1 P2P journeys and fold guts#479
reardencode merged 3 commits into
masterfrom
test/p2p-b51-fold

Conversation

@rearden-grok

@rearden-grok rearden-grok Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

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 so n > 1 does 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).
  • Folded guts: coinbase-no-mempool reconstruct, cmpct_announce helper, 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.
  • Kept: feeler silence timeout (now one combined case), eviction ranking, park-not-reject logs, tokio-worker lock, depth-10 / serve_inflight / catch-up compact, AddrMan 23% floor, remaining obsolete/pre-verack format needles, sole-preferred stall KEEP.

Test plan

  • p2p_timeout_getaddr_and_keepalive_ping
  • p2p_compact_hb_getblocktxn_and_orphan
  • p2p_feeler_completes_and_closes / p2p_inbound_full_rejects_extra
  • getaddr_cache_bind_key_and_ttl / remaining parked_orphan / compact helper / combined handshake silence units
  • Required CI green (fmt, deny, clippy, ast-grep, test, windows, macos, multinode, coverage)

Made with Cursor

rbitcoin-grok and others added 3 commits September 12, 2026 20:59
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>
@reardencode
reardencode merged commit 42da8a3 into master Sep 13, 2026
16 checks passed
@rearden-grok
rearden-grok Bot deleted the test/p2p-b51-fold branch September 13, 2026 05:03
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.

1 participant