diff options
| author | tv <tv@krebsco.de> | 2026-10-31 05:45:57 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 05:45:57 +0100 |
| commit | 964f78a097a76b809954ddd4c1d5c7055d5a5772 (patch) | |
| tree | 44000aaa4760dafb25a809d00118c59261f23f36 /src/swarm/peer/admit.rs | |
| parent | f72c751c837a41b807fe09cebe79e78a31309def (diff) | |
centralize call to topology_change
Diffstat (limited to 'src/swarm/peer/admit.rs')
| -rw-r--r-- | src/swarm/peer/admit.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/swarm/peer/admit.rs b/src/swarm/peer/admit.rs index 1800775..6e02150 100644 --- a/src/swarm/peer/admit.rs +++ b/src/swarm/peer/admit.rs @@ -4,6 +4,7 @@ use tracing::{debug, info, trace, warn}; use super::handshake::remember_peer; use crate::state::{AppState, HelloState, Standing}; +use crate::swarm::topology; use crate::transport::ParsedMessage; /// With a swarm key, only peers that proved it get past this point. A HELLO or @@ -50,7 +51,7 @@ pub(super) async fn admit(state: &AppState, peer: &str, message: &ParsedMessage) if peer_state.standing.is_admitted() { warn!(peer = %peer, "Peer no longer proves the swarm key; dropping its membership"); } - peer_state.standing = Standing::Stranger; + topology::change_peer(state, &mut peer_state, |p| p.standing = Standing::Stranger); peer_state.hello_state = HelloState::NotSent; peer_state.reset_sync(); } |
