aboutsummaryrefslogtreecommitdiffstats
path: root/src/transport/traffic.rs
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/transport/traffic.rs
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/transport/traffic.rs')
-rw-r--r--src/transport/traffic.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/transport/traffic.rs b/src/transport/traffic.rs
index b237db2..f8ca586 100644
--- a/src/transport/traffic.rs
+++ b/src/transport/traffic.rs
@@ -45,6 +45,8 @@ pub(crate) struct ByKind {
pub(crate) identity: Counter,
/// PING and PONG (`transport::paths`), counted by the paths layer under the address.
pub(crate) paths: Counter,
+ /// LINKS and LINKS_REPLY (`swarm::links`).
+ pub(crate) links: Counter,
}
impl ByKind {
@@ -58,6 +60,7 @@ impl ByKind {
MessageKind::Blob => &mut self.blob,
MessageKind::Who | MessageKind::Me => &mut self.identity,
MessageKind::Ping | MessageKind::Pong => &mut self.paths,
+ MessageKind::Links | MessageKind::LinksReply => &mut self.links,
}
}
}