aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/peers.md5
1 files changed, 3 insertions, 2 deletions
diff --git a/docs/peers.md b/docs/peers.md
index eb1eb5c..70437ab 100644
--- a/docs/peers.md
+++ b/docs/peers.md
@@ -162,8 +162,9 @@ A sync message larger than 16 chunks (16 × `--blob-chunk`, 1 MiB by default) is
sent: it would be all or nothing, sent again whole after a lost copy, and on a slow link
may not arrive within the transport's delivery limit (Mycelium's five minutes). The sender takes it back and offers a
*delta* instead: the changes in the history of its heads but not of the peer's (as far
-as it knows them). The peer fetches them as a blob, in chunks, from the sender and any
-other peer holding those heads (every such peer produces the same bytes), loads them,
+as it knows them; of those, the ones it holds, and for any it lacks, the heads they
+share). The peer fetches them as a blob, in chunks, from the sender and any other peer
+holding both sets of heads (every such peer produces the same bytes), loads them,
and syncs on; the rest goes in ordinary messages. Until the peer answers, the sender
sends it nothing; if the answer is overdue, it offers again (the same offer, without
generating the message again, while neither side's heads moved). This is how a join without a