diff options
| author | tv <tv@krebsco.de> | 2026-10-26 04:24:52 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-26 04:24:52 +0100 |
| commit | 2f3d191a12b6e03ef1845c202d15c7b90736558c (patch) | |
| tree | f9e0aecafd5d32f904ffd62893132994ee52958f /src/swarm | |
| parent | 7b7dcb5a77061cb69d368de263a02b5ad26fbf51 (diff) | |
unify peers snapshot logic
Diffstat (limited to 'src/swarm')
| -rw-r--r-- | src/swarm/peer.rs | 14 |
1 files changed, 3 insertions, 11 deletions
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<Mutex<PeerState>>)> = 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<Mutex<PeerState>>)> = 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(); |
