aboutsummaryrefslogtreecommitdiffstats
path: root/src/transport/libp2p.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-29 05:34:25 +0100
committertv <tv@krebsco.de>2026-10-29 05:34:25 +0100
commitbd21360f874f6e3d002c0840d7f8722e4fa649e9 (patch)
tree51fde8bd8e39594bdca5d65dec60835537a52aa1 /src/transport/libp2p.rs
parentbadd492779e401b5ef4719c14291bcf86df8c80d (diff)
libp2p: add punching stats
Diffstat (limited to 'src/transport/libp2p.rs')
-rw-r--r--src/transport/libp2p.rs11
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();