Skip to content

Bump rumors and refactor gossip code - #119

Merged
plotnick merged 1 commit into
mainfrom
linkless
Nov 12, 2026
Merged

plotnick merged 1 commit into
mainfrom
linkless

Conversation

@plotnick

@plotnick plotnick commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

This is primarily a bump for oxidecomputer/rumors#52, which uses a single connection per peer instead of several. This does away with the whole Link interface, and so the link.rs module was renamed and largely rewritten as sprockets.rs.

But it was also used as an opportunity to clean up, refactor, rename, and otherwise correct quite a lot of the gossip network code. In particular, we no longer refer to a gossip "Universe" at all, instead preferring "Network" (or "gossip network" in prose). Also removed or rewrote many Claudish comments that repeated themselves or the code.

Also fixes #118 by using a blocking thread for each sprockets handshake.

Gossip connections before this change
sush [dublin]# job start "netstat -an -f inet6 -P tcp | grep ESTABLISHED | grep '[.]12351 '"
✅ Signed request for job `topic-acoustic-position-hope-chalk-glimpse-vibrant-sadness`
✅ Started job `topic-acoustic-position-hope-chalk-glimpse-vibrant-sadness`
   Job ID: topic-acoustic-position-hope-chalk-glimpse-vibrant-sadness
sush [dublin]# job output
 » 913-0000019:BRM23230010 stdout «
fdb0:a840:2504:851::1.37146       fdb0:a840:2504:614::1.12351       133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.53724       fdb0:a840:2504:6d3::1.12351       133920   1527 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.59527       fdb0:a840:2504:6d3::1.12351       133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.42304       fdb0:a840:2504:1152::1.12351      133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.12351       fdb0:a840:2504:1152::1.45284      142848      0 133920     24 ESTABLISHED 
fdb0:a840:2504:851::1.60050       fdb0:a840:2504:6d3::1.12351       133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.12351       fdb0:a840:2504:614::1.37670       142848      0 133920     50 ESTABLISHED 
fdb0:a840:2504:851::1.12351       fdb0:a840:2504:1152::1.50012      142848      0 133920     50 ESTABLISHED 
fdb0:a840:2504:851::1.45631       fdb0:a840:2504:614::1.12351       133920      0 142848     24 ESTABLISHED 
fdb0:a840:2504:851::1.12351       fdb0:a840:2504:614::1.65391       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:851::1.12351       fdb0:a840:2504:6d3::1.58845       142848      0 133920     50 ESTABLISHED 
 » 913-0000019:BRM23230018 stdout «
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:851::1.59527       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:614::1.64554       142848      0 133920     50 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:851::1.53724       142848      0 133920   1528 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:851::1.60050       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:1152::1.62303      142848      0 133920     24 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:1152::1.59889      142848      0 133920     50 ESTABLISHED 
fdb0:a840:2504:6d3::1.40332       fdb0:a840:2504:614::1.12351       133920      0 142848     24 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:614::1.40961       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:6d3::1.47183       fdb0:a840:2504:614::1.12351       133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:6d3::1.51200       fdb0:a840:2504:1152::1.12351      133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:6d3::1.58845       fdb0:a840:2504:851::1.12351       133920     49 142848      0 ESTABLISHED 
 » 913-0000019:BRM27230037 stdout «
fdb0:a840:2504:614::1.64554       fdb0:a840:2504:6d3::1.12351       133920     49 142848      0 ESTABLISHED 
fdb0:a840:2504:614::1.37670       fdb0:a840:2504:851::1.12351       133920     49 142848      0 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:851::1.45631       142848     23 133920      0 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:6d3::1.40332       142848     23 133920      0 ESTABLISHED 
fdb0:a840:2504:614::1.40961       fdb0:a840:2504:6d3::1.12351       133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:614::1.65391       fdb0:a840:2504:851::1.12351       133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:1152::1.36724      142848      0 133920   1583 ESTABLISHED 
fdb0:a840:2504:614::1.53837       fdb0:a840:2504:1152::1.12351      133920      0 142848      0 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:1152::1.51710      142848      0 133920     50 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:851::1.37146       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:6d3::1.47183       142848      0 133920      0 ESTABLISHED 
 » 913-0000023:2F8JEXDK stdout «
fdb0:a840:2504:1152::1.36724      fdb0:a840:2504:614::1.12351       133920     23 142848      0 ESTABLISHED 
fdb0:a840:2504:1152::1.12351      fdb0:a840:2504:614::1.53837       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:1152::1.12351      fdb0:a840:2504:6d3::1.51200       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:1152::1.12351      fdb0:a840:2504:851::1.42304       142848      0 133920      0 ESTABLISHED 
fdb0:a840:2504:1152::1.51710      fdb0:a840:2504:614::1.12351       133920     49 142848      0 ESTABLISHED 
fdb0:a840:2504:1152::1.45284      fdb0:a840:2504:851::1.12351       133920     23 142848      0 ESTABLISHED 
fdb0:a840:2504:1152::1.62303      fdb0:a840:2504:6d3::1.12351       133920     23 142848      0 ESTABLISHED 
fdb0:a840:2504:1152::1.50012      fdb0:a840:2504:851::1.12351       133920     49 142848      0 ESTABLISHED 
fdb0:a840:2504:1152::1.59889      fdb0:a840:2504:6d3::1.12351       133920     49 142848      0 ESTABLISHED 
Gossip connections after this change
sush [dublin]# job start "netstat -an -f inet6 -P tcp | grep ESTABLISHED | grep '[.]12351 '"
👋 Please confirm user presence to sign with key `excite-cabbage-reject-wave-learn-police-that-glad`
🔑 Open this URL in your browser to authenticate to the signing service:
https://signer-us-west.corp.oxide.computer/google/0aa7992a70bb08ac9d68be15c381e036
✅ Signed request for job `furnace-obtain-merit-already-random-boil-skirt-ring`
✅ Started job `furnace-obtain-merit-already-random-boil-skirt-ring`
   913-0000019:BRM23230010  Stopped, exit 0 (19ms 793us 551ns), 327 B out, 0 B err
   913-0000019:BRM23230018  Stopped, exit 0 (21ms 465us 481ns), 327 B out, 0 B err
   913-0000019:BRM27230037  Stopped, exit 0 (21ms 965us 868ns), 327 B out, 0 B err
   913-0000023:2F8JEXDK     Stopped, exit 0 (24ms 957us 773ns), 327 B out, 0 B err
 » 913-0000019:BRM23230010 stdout «
fdb0:a840:2504:851::1.60083       fdb0:a840:2504:614::1.12351       133920     23 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.41037       fdb0:a840:2504:6d3::1.12351       133920     23 142848      0 ESTABLISHED 
fdb0:a840:2504:851::1.12351       fdb0:a840:2504:1152::1.61438      142848     23 133920      0 ESTABLISHED 
 » 913-0000019:BRM23230018 stdout «
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:1152::1.56678      142848     23 133920      0 ESTABLISHED 
fdb0:a840:2504:6d3::1.12351       fdb0:a840:2504:851::1.41037       142848      0 133920     24 ESTABLISHED 
fdb0:a840:2504:6d3::1.48183       fdb0:a840:2504:614::1.12351       133920     23 142848      0 ESTABLISHED 
 » 913-0000019:BRM27230037 stdout «
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:851::1.60083       142848      0 133920     24 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:1152::1.57386      142848     23 133920     24 ESTABLISHED 
fdb0:a840:2504:614::1.12351       fdb0:a840:2504:6d3::1.48183       142848      0 133920     24 ESTABLISHED 
 » 913-0000023:2F8JEXDK stdout «
fdb0:a840:2504:1152::1.57386      fdb0:a840:2504:614::1.12351       133920     23 142848     24 ESTABLISHED 
fdb0:a840:2504:1152::1.56678      fdb0:a840:2504:6d3::1.12351       133920      0 142848     24 ESTABLISHED 
fdb0:a840:2504:1152::1.61438      fdb0:a840:2504:851::1.12351       133920      0 142848     24 ESTABLISHED 

This is primarily a bump for oxidecomputer/rumors#52,
which uses a single connection per peer instead of several.
This does away with the whole `Link` interface, and so the
`link.rs` module was renamed and largely rewritten as
`sprockets.rs`.

But it was also used as an opportunity to clean up, refactor,
rename, and otherwise correct quite a lot of the gossip network
code. In particular, we no longer refer to a gossip "Universe"
at all, instead preferring "Network" (or "gossip network" in prose).
Also removed or rewrote many Claudish comments that repeated
themselves or the code.

Also fixes #118 by using a blocking thread for each sprockets
handshake.

Co-authored-by: Claude <noreply@anthropic.com>
@plotnick
plotnick merged commit f864b1e into main Nov 12, 2026
5 checks passed
@plotnick
plotnick deleted the linkless branch November 12, 2026 16:25
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.

sprockets::Client::connect can use IPCC and therefore requires spawn_blocking

1 participant