aboutsummaryrefslogtreecommitdiffstats
path: root/src/state
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-30 17:36:23 +0100
committertv <tv@krebsco.de>2026-10-30 17:36:23 +0100
commit8ae3d55e7f793ee6555de9eb40d675458e2e2fe1 (patch)
tree81d7307693956b4003a514133614cbc77e04973c /src/state
parent287c4e4832709ab4137e4786e593466390eadd53 (diff)
add links messages
Introduce two new wire messages, LINKS and LINKS_REPLY (swarm::links). A member answers with its links: for each peer, the transport, whether it’s relayed, the RTT, and whether it’s dormant. It answers members only, at most every 5 s. This bumps wire::VERSION to 7. Every build answers, with or without the feature, so every node needs this patch before the map shows anything beyond its own node.
Diffstat (limited to 'src/state')
-rw-r--r--src/state/mod.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/state/mod.rs b/src/state/mod.rs
index fec164d..d7c80c2 100644
--- a/src/state/mod.rs
+++ b/src/state/mod.rs
@@ -112,6 +112,8 @@ pub(crate) struct AppState {
pub(crate) electorate_window: Duration,
/// Chunked transfers served and fetched (`swarm::blob`).
pub(crate) blobs: Arc<crate::swarm::blob::Blobs>,
+ /// LINKS asked and answered, for a map of the swarm (`swarm::links`).
+ pub(crate) links: Arc<crate::swarm::links::Links>,
/// HTTP API users who may write protocol data through the store API
/// (`--protocol-writers`).
pub(crate) protocol_writers: Arc<std::collections::HashSet<String>>,