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
commit197cee7f4da41a8f5181e314a90a26ae93e23a63 (patch)
tree105791a86d30f27e9af63165ec7f3c4228b26e75 /src/swarm/peer/admit.rs
parentca0bd76db94e5d561f5c30b7b211e865d9e9e494 (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();
}