diff options
| author | tv <tv@krebsco.de> | 2026-10-31 20:51:53 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 20:51:53 +0100 |
| commit | 8124270037d2949fb455f704f6bc45716179767e (patch) | |
| tree | 1c710c13b7fe998053e36f0f5b2c6a787cf63c88 /src/transport/libp2p/driver.rs | |
| parent | fbaadc3a072916dddcb659e3b3d5e47f34f511b1 (diff) | |
libp2p: identify replaces addresses
Diffstat (limited to 'src/transport/libp2p/driver.rs')
| -rw-r--r-- | src/transport/libp2p/driver.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/transport/libp2p/driver.rs b/src/transport/libp2p/driver.rs index 37eae35..a450cb0 100644 --- a/src/transport/libp2p/driver.rs +++ b/src/transport/libp2p/driver.rs @@ -218,6 +218,9 @@ pub(super) async fn run( let mut book = lock(&book); book.connections.remove(&connection_id); book.rtts.remove(&connection_id); + if book.connection(&peer_id).is_none() { + book.identified.remove(&peer_id); + } } let cause = match cause { _ if closing_duplicates.remove(&connection_id) => "a duplicate".to_owned(), @@ -462,10 +465,7 @@ pub(super) async fn run( "Peer identified" ); } - // Last first: `remember` puts each in front. - for address in listen.into_iter().rev() { - book.remember(peer_id, address); - } + book.identified(peer_id, listen); if relaying.public && info.protocols.contains(&::libp2p::relay::HOP_PROTOCOL_NAME) && (book.public_relays.len() < MAX_PEERS |
