diff options
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 |
