diff options
| author | tv <tv@krebsco.de> | 2026-11-06 14:29:42 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-06 14:29:42 +0100 |
| commit | d6f6c7aad904e650e6c7371dbd4776f6f0be2388 (patch) | |
| tree | c4cf94b5099e3ea31faddc7356459337127eb3f3 /src/transport/traffic.rs | |
| parent | 43305f5a0e2a87c68405989600b33e33c1ab70df (diff) | |
indirect probes
Diffstat (limited to 'src/transport/traffic.rs')
| -rw-r--r-- | src/transport/traffic.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/transport/traffic.rs b/src/transport/traffic.rs index a34bf4b..2e4266c 100644 --- a/src/transport/traffic.rs +++ b/src/transport/traffic.rs @@ -53,6 +53,8 @@ pub(crate) struct ByKind { pub(crate) paths: Counter, /// LINKS and LINKS_REPLY (`swarm::links`). pub(crate) links: Counter, + /// PROBE and PROBE_REPLY (`swarm::working_links`). + pub(crate) probe: Counter, } impl ByKind { @@ -67,6 +69,7 @@ impl ByKind { MessageKind::Who, MessageKind::Ping, MessageKind::Links, + MessageKind::Probe, ] { let theirs = *other.get(kind); self.get_mut(kind).absorb(theirs); @@ -84,6 +87,7 @@ impl ByKind { MessageKind::Who | MessageKind::Me => &self.identity, MessageKind::Ping | MessageKind::Pong => &self.paths, MessageKind::Links | MessageKind::LinksReply => &self.links, + MessageKind::Probe | MessageKind::ProbeReply => &self.probe, } } @@ -98,6 +102,7 @@ impl ByKind { MessageKind::Who | MessageKind::Me => &mut self.identity, MessageKind::Ping | MessageKind::Pong => &mut self.paths, MessageKind::Links | MessageKind::LinksReply => &mut self.links, + MessageKind::Probe | MessageKind::ProbeReply => &mut self.probe, } } } @@ -191,6 +196,8 @@ fn related(peer: &str, message: &ParsedMessage) -> Option<String> { } ParsedMessage::Links(request) => format!("links {peer} {}", request.nonce), ParsedMessage::LinksReply(reply) => format!("links {peer} {}", reply.nonce), + ParsedMessage::Probe(request) => format!("probe {peer} {}", request.nonce), + ParsedMessage::ProbeReply(reply) => format!("probe {peer} {}", reply.nonce), ParsedMessage::Hello(hello) => format!("hello {peer} {}", Hex(&hello.run_id)), ParsedMessage::HelloReply(reply) => format!("hello {peer} {}", Hex(&reply.run_id)), ParsedMessage::Blob(blob) => format!("blob {}", blob.id), @@ -286,6 +293,8 @@ fn names(kind: MessageKind) -> (&'static str, &'static str) { MessageKind::Pong => ("PONG", "paths"), MessageKind::Links => ("LINKS", "links"), MessageKind::LinksReply => ("LINKS_REPLY", "links"), + MessageKind::Probe => ("PROBE", "probe"), + MessageKind::ProbeReply => ("PROBE_REPLY", "probe"), } } |
