aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/peer/admit.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 05:45:57 +0100
committertv <tv@krebsco.de>2026-10-31 05:45:57 +0100
commit964f78a097a76b809954ddd4c1d5c7055d5a5772 (patch)
tree44000aaa4760dafb25a809d00118c59261f23f36 /src/swarm/peer/admit.rs
parentf72c751c837a41b807fe09cebe79e78a31309def (diff)
centralize call to topology_change
Diffstat (limited to 'src/swarm/peer/admit.rs')
-rw-r--r--src/swarm/peer/admit.rs3
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();
}