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
commit29f30daa18df3fd793140927b29837fe25c1c9b9 (patch)
tree8d5f87d375529d887d7098b6788d7731bd28fad0 /src/swarm/peer/admit.rs
parent612d189f86a6d985db97ea23c5ce1bf72ac077a4 (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();
}