diff options
| author | tv <tv@krebsco.de> | 2026-11-05 00:29:56 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-05 00:29:56 +0100 |
| commit | 52e307d7b95dda735d1afbc4fe2dcffaa87512a4 (patch) | |
| tree | 262c3fe7a18e6af82deacf7956640a3429a6822e /docs/peers.md | |
| parent | 26d41bef0de3a0d8f25b62776e966ed464a34063 (diff) | |
delta from held heads
Diffstat (limited to 'docs/peers.md')
| -rw-r--r-- | docs/peers.md | 5 |
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 |
