diff options
| author | Bitflash <btf01@proton.me> | 2026-08-02 11:59:12 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-08-02 11:59:12 -0300 |
| commit | 758ff4bc49af78b06e37fc1e99741cb5fa8e43d6 (patch) | |
| tree | 4e9d4ed63430d7a442260d1be78d63878a2fc455 /src/fuzz_net_message.cpp | |
| parent | fe04a2045c3080797c6f93bf7cd2e12192b8f68f (diff) | |
rendezvous: let a node park more than one registration (#113)
A registration was consumed by the first caller and registering again replaced the previous one, so a node was reachable to one peer at a time and unreachable for the gap between being paired and registering again. Measured on a live node: descriptors resolved 53/54, our own registrations paired 11/12, nothing paired and went silent -- and half of every outbound dial failed, 15 of 30 in eleven minutes.
The relay keeps a queue per pubkey capped at four, pairs with the oldest still-alive registration and discards the dead; the node runs three accept threads, each holding its own registration. The wire protocol does not change, so either side can be deployed first.
Bench with both relays built from source and waves of concurrent dialers: old+1 65%, new+1 58%, old+3 68%, new+3 98%. Each half alone lands within noise of doing nothing.
Diffstat (limited to 'src/fuzz_net_message.cpp')
0 files changed, 0 insertions, 0 deletions