diff options
Diffstat (limited to 'src/swarm/peer/inbound.rs')
| -rw-r--r-- | src/swarm/peer/inbound.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/swarm/peer/inbound.rs b/src/swarm/peer/inbound.rs index 8980fd3..9b701b5 100644 --- a/src/swarm/peer/inbound.rs +++ b/src/swarm/peer/inbound.rs @@ -200,8 +200,10 @@ pub(crate) async fn handle_message( // no reason, as changes on their way to us make them differ while writes go on. if !remote.announcing { status_received(state, &peer).await; - heard_heads(state, &peer, &remote); } + // Announcements too: a neighbour heard from keeps none of its keepalives, so + // while writes go on its announcements are all it says of its heads. + heard_heads(state, &peer, &remote); let local = on_status(state, &peer, &remote, reactivated).await; if remote.announcing { if local.heads != remote.heads { |
