From adecfcff1a818cb6d80fd8e24412830ef0988e65 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 3 Nov 2026 02:00:58 +0100 Subject: probe list members --- src/swarm/peer/handshake.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/swarm/peer/handshake.rs') diff --git a/src/swarm/peer/handshake.rs b/src/swarm/peer/handshake.rs index 072545b..1ca955b 100644 --- a/src/swarm/peer/handshake.rs +++ b/src/swarm/peer/handshake.rs @@ -330,15 +330,16 @@ pub(crate) async fn probe_when_reachable(state: AppState, reachable: Arc bool { let Some(peer_state) = state.get_peer_state(peer).await else { return false; }; let mut peer_state = peer_state.lock().await; - if !matches!(peer_state.standing, Standing::Member { .. }) - || !(peer_state.liveness.is_dormant() || peer_state.is_unreachable()) - { + let member = + matches!(peer_state.standing, Standing::Member { .. }) || topology::is_listed(state, peer); + if !member || !(peer_state.liveness.is_dormant() || peer_state.is_unreachable()) { return false; } match &mut peer_state.hello_state { @@ -372,7 +373,7 @@ pub(crate) async fn apply_neighbour_change(state: &AppState, change: topology::N for peer in &change.removed { if let Some(peer_state) = state.get_peer_state(peer).await { let mut peer_state = peer_state.lock().await; - peer_state.stop_hello_retries(); + peer_state.stop_hello_retries(topology::is_listed(state, peer)); peer_state.reset_sync(); } } -- cgit v1.3.1