aboutsummaryrefslogtreecommitdiffstats
path: root/docs/peers.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/peers.md')
-rw-r--r--docs/peers.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/docs/peers.md b/docs/peers.md
index 9937c63..9868c0e 100644
--- a/docs/peers.md
+++ b/docs/peers.md
@@ -280,8 +280,9 @@ backbone (with 20 stable of 250 members and k = 12: about 65 links per stable me
Changes travel through a partial mesh by announcement and pull ([`swarm/relay.rs`](../src/swarm/relay.rs)): a node
pushes its own writes to its neighbours; after applying changes from one neighbour it
-sends its other neighbours a STATUS with its new heads, and a neighbour that lacks those
-heads pulls them (it sets them as the peer's heads in its sync state, so Automerge asks
+sends its other neighbours a STATUS with its new heads (marked as an announcement: no
+keepalive, and answered only by a neighbour whose heads differ, so one that has the
+changes already sends nothing back), and a neighbour that lacks those heads pulls them (it sets them as the peer's heads in its sync state, so Automerge asks
for what's missing). It pulls from one neighbour at a time (15 s timeout); neighbours
that announce heads it lacks meanwhile wait their turn and are pulled from as soon as
the current pull is answered, if they still have something it lacks. The regular