diff options
Diffstat (limited to 'src/swarm')
| -rw-r--r-- | src/swarm/peer/handshake.rs | 4 | ||||
| -rw-r--r-- | src/swarm/peer/keepalive.rs | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/swarm/peer/handshake.rs b/src/swarm/peer/handshake.rs index 1183db1..fbebfc6 100644 --- a/src/swarm/peer/handshake.rs +++ b/src/swarm/peer/handshake.rs @@ -9,7 +9,7 @@ use tokio::sync::Mutex; use tokio::time::Instant; use tracing::{debug, info, instrument, trace, warn}; -use crate::state::{AppState, HelloState, Liveness, PeerState, Standing}; +use crate::state::{AppState, HelloState, PeerState, Standing}; use crate::swarm::sync::SyncEvent; use crate::swarm::topology; use crate::transport::{self, ParsedMessage}; @@ -199,7 +199,7 @@ pub(super) async fn send_hello_reply( let mut peers = Vec::new(); for (known, peer_state_mutex) in candidates { let peer_state = peer_state_mutex.lock().await; - if peer_state.liveness == Liveness::Active + if !peer_state.liveness.is_dormant() && peer_state.hello_state == HelloState::Established && topology::is_neighbour(state, &known) { diff --git a/src/swarm/peer/keepalive.rs b/src/swarm/peer/keepalive.rs index c8a93eb..ea7ade2 100644 --- a/src/swarm/peer/keepalive.rs +++ b/src/swarm/peer/keepalive.rs @@ -16,7 +16,7 @@ use tokio::time::Instant; use tracing::{debug, info, warn}; use super::handshake::ensure_handshake; -use crate::state::{AppState, Liveness, Standing}; +use crate::state::{AppState, Standing}; use crate::swarm::sync::SyncEvent; use crate::swarm::topology; use crate::transport::{self, ParsedMessage}; @@ -139,7 +139,7 @@ pub(crate) async fn local_status(state: &AppState, peer: &str) -> transport::Sta let syncs_with_you = match state.get_peer_state(peer).await { Some(peer_state) => { let peer_state = peer_state.lock().await; - peer_state.liveness == Liveness::Active + !peer_state.liveness.is_dormant() && matches!(peer_state.standing, Standing::Member { .. }) && peer_state.epoch == Some(epoch) } |
