aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/peer
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-07 22:35:21 +0100
committertv <tv@krebsco.de>2026-11-07 22:35:21 +0100
commitc3fde0fdd410902125f006f0a7d77ca030cb9061 (patch)
treed5506388f0f94b77c5172c96074ff68b54186726 /src/swarm/peer
parent2ff408c024a0ef5db2a770e8a091783f1b6d9cfc (diff)
signatures: on their own (SIGNATURES)
Signatures no sync message took go on their own within a second, to each peer not sent them yet (wire version bumped). Auth plan M5.
Diffstat (limited to 'src/swarm/peer')
-rw-r--r--src/swarm/peer/inbound.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/swarm/peer/inbound.rs b/src/swarm/peer/inbound.rs
index d25c7de..e261702 100644
--- a/src/swarm/peer/inbound.rs
+++ b/src/swarm/peer/inbound.rs
@@ -242,6 +242,16 @@ pub(crate) async fn handle_message(
heard_heads(state, &peer, &remote);
on_status(state, &peer, &remote, reactivated).await;
}
+ transport::ParsedMessage::Signatures(message) => {
+ // From members, of our epoch: checking costs (`Signatures::offer`).
+ let member = matches!(
+ peer_state.lock().await.standing,
+ crate::state::Standing::Member { .. }
+ );
+ if member && same_epoch {
+ crate::swarm::signatures::received(state, message).await;
+ }
+ }
transport::ParsedMessage::Probe(request) => {
crate::swarm::working_links::answer(state, &peer, request).await;
}