diff options
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(); |
