aboutsummaryrefslogtreecommitdiffstats
path: root/src/transport/libp2p/book.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 22:00:19 +0100
committertv <tv@krebsco.de>2026-10-31 22:00:19 +0100
commit9b7d9841afdbe9b7fb375cb479a1b4251e4651e7 (patch)
treed9c690e0a4b7d3d61beb2a2fade106fc750ad7d8 /src/transport/libp2p/book.rs
parentf5f1139f387757db3130499b8c1be9ff6e0f6208 (diff)
libp2p: don't keep ignored addresses
Diffstat (limited to 'src/transport/libp2p/book.rs')
-rw-r--r--src/transport/libp2p/book.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/transport/libp2p/book.rs b/src/transport/libp2p/book.rs
index b495719..e5bfa9e 100644
--- a/src/transport/libp2p/book.rs
+++ b/src/transport/libp2p/book.rs
@@ -450,12 +450,17 @@ impl Book {
/// `peer` is at `address` (without its `/p2p` part): kept first. Not a direct
/// address the peer's identify left out (`identified`): one it no longer has, or
- /// one it doesn't publish (`Libp2pConfig::ignore`).
+ /// one it doesn't publish (`Libp2pConfig::ignore`). Nor one in a range this node
+ /// leaves out (`ignored`): never dialled, it would only take a place, and be passed
+ /// on.
pub(super) fn remember(&mut self, peer: PeerId, address: Multiaddr) {
let address = without_peer(address);
if !self.addresses.contains_key(&peer) && self.addresses.len() >= MAX_PEERS {
return;
}
+ if ignored(&self.ignored, &address) {
+ return;
+ }
if self
.identified
.get(&peer)