From 2f3d191a12b6e03ef1845c202d15c7b90736558c Mon Sep 17 00:00:00 2001 From: tv Date: Mon, 26 Oct 2026 04:24:52 +0100 Subject: unify peers snapshot logic --- src/swarm/peer.rs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'src/swarm') diff --git a/src/swarm/peer.rs b/src/swarm/peer.rs index ec6543b..79e958b 100644 --- a/src/swarm/peer.rs +++ b/src/swarm/peer.rs @@ -351,12 +351,10 @@ async fn send_hello_reply( .ok_or_else(|| anyhow!("Cannot send HELLO_REPLY without an established swarm ID"))?; let candidates: Vec<(String, Arc>)> = state - .peer_states - .read() + .peers_snapshot() .await - .iter() + .into_iter() .filter(|(known, _)| known.as_str() != peer) - .map(|(known, m)| (known.clone(), Arc::clone(m))) .collect(); let mut peers = Vec::new(); @@ -476,13 +474,7 @@ pub(crate) async fn run_peer_worker(state: AppState) { } was_ready = ready; - let peers: Vec<(String, Arc>)> = state - .peer_states - .read() - .await - .iter() - .map(|(pk, m)| (pk.clone(), Arc::clone(m))) - .collect(); + let peers = state.peers_snapshot().await; for (peer, peer_state_mutex) in &peers { let now = Instant::now(); -- cgit v1.3.1