Skip to content

Commit 7e2b0fb

Browse files
committed
f Account for new list_peers/peer_by_node_id methods
1 parent 6f78211 commit 7e2b0fb

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
@@ -476,9 +476,9 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
476476
}
477477
_ = interval.tick() => {
478478
let pm_peers = connect_pm
479-
.get_peer_node_ids()
479+
.list_peers()
480480
.iter()
481-
.map(|(peer, _addr)| *peer)
481+
.map(|peer| peer.counterparty_node_id)
482482
.collect::<Vec<_>>();
483483

484484
for peer_info in connect_peer_store.list_peers().iter().filter(|info| !pm_peers.contains(&info.node_id)) {
@@ -539,7 +539,7 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
539539
continue;
540540
}
541541

542-
if bcast_pm.get_peer_node_ids().is_empty() {
542+
if bcast_pm.list_peers().is_empty() {
543543
// Skip if we don't have any connected peers to gossip to.
544544
continue;
545545
}
@@ -1687,12 +1687,13 @@ impl<K: KVStore + Sync + Send + 'static> Node<K> {
16871687
let mut peers = Vec::new();
16881688

16891689
// First add all connected peers, preferring to list the connected address if available.
1690-
let connected_peers = self.peer_manager.get_peer_node_ids();
1690+
let connected_peers = self.peer_manager.list_peers();
16911691
let connected_peers_len = connected_peers.len();
1692-
for (node_id, con_addr_opt) in connected_peers {
1692+
for connected_peer in connected_peers {
1693+
let node_id = connected_peer.counterparty_node_id;
16931694
let stored_peer = self.peer_store.get_peer(&node_id);
16941695
let stored_addr_opt = stored_peer.as_ref().map(|p| p.address.clone());
1695-
let address = match (con_addr_opt, stored_addr_opt) {
1696+
let address = match (connected_peer.socket_address, stored_addr_opt) {
16961697
(Some(con_addr), _) => con_addr,
16971698
(None, Some(stored_addr)) => stored_addr,
16981699
(None, None) => continue,
@@ -1750,10 +1751,8 @@ async fn connect_peer_if_necessary<K: KVStore + Sync + Send + 'static>(
17501751
node_id: PublicKey, addr: SocketAddress, peer_manager: Arc<PeerManager<K>>,
17511752
logger: Arc<FilesystemLogger>,
17521753
) -> Result<(), Error> {
1753-
for (pman_node_id, _pman_addr) in peer_manager.get_peer_node_ids() {
1754-
if node_id == pman_node_id {
1755-
return Ok(());
1756-
}
1754+
if peer_manager.peer_by_node_id(&node_id).is_some() {
1755+
return Ok(());
17571756
}
17581757

17591758
do_connect_peer(node_id, addr, peer_manager, logger).await
@@ -1788,7 +1787,7 @@ async fn do_connect_peer<K: KVStore + Sync + Send + 'static>(
17881787
std::task::Poll::Pending => {},
17891788
}
17901789
// Avoid blocking the tokio context by sleeping a bit
1791-
match peer_manager.get_peer_node_ids().iter().find(|(id, _addr)| *id == node_id) {
1790+
match peer_manager.peer_by_node_id(&node_id) {
17921791
Some(_) => return Ok(()),
17931792
None => tokio::time::sleep(Duration::from_millis(10)).await,
17941793
}

0 commit comments

Comments
 (0)