diff options
| author | tv <tv@krebsco.de> | 2026-10-29 05:34:25 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-29 05:34:25 +0100 |
| commit | bd21360f874f6e3d002c0840d7f8722e4fa649e9 (patch) | |
| tree | 51fde8bd8e39594bdca5d65dec60835537a52aa1 /src/transport/libp2p.rs | |
| parent | badd492779e401b5ef4719c14291bcf86df8c80d (diff) | |
libp2p: add punching stats
Diffstat (limited to 'src/transport/libp2p.rs')
| -rw-r--r-- | src/transport/libp2p.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/transport/libp2p.rs b/src/transport/libp2p.rs index a5541f6..610b94e 100644 --- a/src/transport/libp2p.rs +++ b/src/transport/libp2p.rs @@ -2334,6 +2334,17 @@ impl Transport for Libp2pTransport { lock(&self.book).connection(&peer) } + fn punching(&self, target: &str) -> Option<crate::transport::Punching> { + let peer = PeerId::from_str(target).ok()?; + let (failed, next) = *lock(&self.book).punching.get(&peer)?; + Some(crate::transport::Punching { + failed, + next_in_secs: next + .saturating_duration_since(tokio::time::Instant::now()) + .as_secs(), + }) + } + fn location(&self, target: &str) -> Option<String> { let peer = PeerId::from_str(target).ok()?; let address = lock(&self.book).location(&peer)?.clone(); |
