From 6fa188610ce0959e0b61ecaf63f5babf826d2071 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 24 Oct 2026 04:23:38 +0200 Subject: pull missing changes Nodes push changes to their neighbours but don't relay them directly. In a partial mesh, nodes can learn about missing changes via keepalive messages and can pull them from their neighbours. --- src/swarm/peer.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'src/swarm/peer.rs') diff --git a/src/swarm/peer.rs b/src/swarm/peer.rs index a42f5a4..2fd248e 100644 --- a/src/swarm/peer.rs +++ b/src/swarm/peer.rs @@ -133,6 +133,7 @@ async fn note_keepalive(state: &AppState, peer: &str, remote: &transport::Keepal peer_state.syncs_with_us = Some(remote.syncs_with_you); peer_state.reported_heads = remote.heads.heads().map(<[_]>::len); drop(peer_state); + crate::swarm::relay::pull_if_behind(state, peer, remote).await; if became_ready { // We may have left the opening to it while it wasn't ready, and nothing else // would make us look again. -- cgit v1.3.1