Skip to content

Commit 7c5862b

Browse files
committed
f Account for new list_peers/peer_by_node_id methods
1 parent 9640075 commit 7c5862b

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

src/lib.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -515,9 +515,9 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
515515
}
516516
_ = interval.tick() => {
517517
let pm_peers = connect_pm
518-
.get_peer_node_ids()
518+
.list_peers()
519519
.iter()
520-
.map(|(peer, _addr)| *peer)
520+
.map(|peer| peer.counterparty_node_id)
521521
.collect::<Vec<_>>();
522522

523523
for peer_info in connect_peer_store.list_peers().iter().filter(|info| !pm_peers.contains(&info.node_id)) {
@@ -579,7 +579,7 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
579579
continue;
580580
}
581581

582-
if bcast_pm.get_peer_node_ids().is_empty() {
582+
if bcast_pm.list_peers().is_empty() {
583583
// Skip if we don't have any connected peers to gossip to.
584584
continue;
585585
}
@@ -1758,12 +1758,13 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
17581758
let mut peers = Vec::new();
17591759

17601760
// First add all connected peers, preferring to list the connected address if available.
1761-
let connected_peers = self.peer_manager.get_peer_node_ids();
1761+
let connected_peers = self.peer_manager.list_peers();
17621762
let connected_peers_len = connected_peers.len();
1763-
for (node_id, con_addr_opt) in connected_peers {
1763+
for connected_peer in connected_peers {
1764+
let node_id = connected_peer.counterparty_node_id;
17641765
let stored_peer = self.peer_store.get_peer(&node_id);
17651766
let stored_addr_opt = stored_peer.as_ref().map(|p| p.address.clone());
1766-
let address = match (con_addr_opt, stored_addr_opt) {
1767+
let address = match (connected_peer.socket_address, stored_addr_opt) {
17671768
(Some(con_addr), _) => con_addr,
17681769
(None, Some(stored_addr)) => stored_addr,
17691770
(None, None) => continue,
@@ -1858,10 +1859,8 @@ async fn connect_peer_if_necessary<K: KVStore + Sync + Send + 'static>(
18581859
node_id: PublicKey, addr: SocketAddress, peer_manager: Arc<PeerManager<K>>,
18591860
logger: Arc<FilesystemLogger>,
18601861
) -> Result<(), Error> {
1861-
for (pman_node_id, _pman_addr) in peer_manager.get_peer_node_ids() {
1862-
if node_id == pman_node_id {
1863-
return Ok(());
1864-
}
1862+
if peer_manager.peer_by_node_id(&node_id).is_some() {
1863+
return Ok(());
18651864
}
18661865

18671866
do_connect_peer(node_id, addr, peer_manager, logger).await
@@ -1896,7 +1895,7 @@ async fn do_connect_peer<K: KVStore + Sync + Send + 'static>(
18961895
std::task::Poll::Pending => {},
18971896
}
18981897
// Avoid blocking the tokio context by sleeping a bit
1899-
match peer_manager.get_peer_node_ids().iter().find(|(id, _addr)| *id == node_id) {
1898+
match peer_manager.peer_by_node_id(&node_id) {
19001899
Some(_) => return Ok(()),
19011900
None => tokio::time::sleep(Duration::from_millis(10)).await,
19021901
}

0 commit comments

Comments
 (0)