aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-04 20:20:28 +0100
committertv <tv@krebsco.de>2026-11-04 20:20:28 +0100
commita57716f79c1c7c34916325b494397cc72ae4c7f7 (patch)
tree9ddbaef110b6637e950a1655af3609793505e5e2 /docs
parent6487281ad8e33138173cdb934bc6caf9333a3721 (diff)
any message taken as delivered
Diffstat (limited to 'docs')
-rw-r--r--docs/peers.md16
1 files changed, 9 insertions, 7 deletions
diff --git a/docs/peers.md b/docs/peers.md
index d22b7c5..d5403c1 100644
--- a/docs/peers.md
+++ b/docs/peers.md
@@ -333,13 +333,15 @@ children in each of their writers' trees, however they came (along a tree, with
answer to one of its own messages, pulled). A sync message along a tree also says
whose; one that had those changes already passes them on too (they may have come
another way first, when it wasn't yet anyone's turn to pass them on), so a child that
-lacks them still gets them. A message along a tree to a child that had nothing the
-parent lacks needs no answer: the parent takes it as delivered (the child's heads are
-its own now), and the child, level with it, says nothing; a child with changes the
-parent lacks answers with them, as before. That leaves out about half the sync
-messages, Automerge's answers that only say "I have your heads". Should the message
-be lost, the child's other neighbours tell it in their slow rounds (below), and it
-pulls; a child that reaches no other member is told in its parent's. The announcement
+lacks them still gets them. A sync message to a peer that had nothing the sender lacks,
+with no answer awaited, needs none: the sender takes it as delivered (the peer's heads
+are its own now) and says so in the envelope, and the peer, level with it, says
+nothing; one with changes the sender lacks answers with them, as before. That leaves
+out about half the sync messages, Automerge's answers that only say "I have your
+heads": along trees, to pulls, to what is sent again. Should the message be lost, the
+peer still lacks it: one that pulled asks again after its reply timeout; a child in a
+tree is told by its other neighbours in their slow rounds (below), and pulls (one that
+reaches no other member, by its parent's), or can't apply the next message and asks. The announcement
round of a node that passed changes on goes only to the neighbours the tree leaves out
(no member they reach comes before them, or the member list's graph doesn't have
them); all others are told in a slow round 2 s later, which catches what a tree missed