aboutsummaryrefslogtreecommitdiffstats
path: root/docs/peers.md
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-05 16:42:00 +0100
committertv <tv@krebsco.de>2026-11-05 16:42:00 +0100
commitf8c22d623fb1ee9759c8b7e8f0da5754673f48c0 (patch)
tree099af9311b1fa40cc58e013d4f9a353d8804f55c /docs/peers.md
parent565b27269b598de3e337d732525b2a171a30cb5e (diff)
heal is last
Diffstat (limited to 'docs/peers.md')
-rw-r--r--docs/peers.md6
1 files changed, 6 insertions, 0 deletions
diff --git a/docs/peers.md b/docs/peers.md
index 5f5cfc9..eefb0cc 100644
--- a/docs/peers.md
+++ b/docs/peers.md
@@ -471,6 +471,12 @@ only for those, without saying what it has; Automerge would send just them, and
ask again for theirs, one round trip per missing change. So we answer as if it had
nothing since what we share: everything since then goes at once (a blob, if large).
+The heal comes last, under all of this: only where sync is idle on our side (nothing
+awaited) while heads stay apart. A pair whose sync messages are lost keeps awaiting
+answers, resending with each reply timeout, and doesn't heal: a re-handshake would be
+lost the same way. What the heal is for is a session out of step that nothing above
+notices; no scenario of the bench, lossy, slow or with members away, needs one.
+
## Timings
Derived from `--keepalive` (`Timing::from_keepalive`, [`state/timing.rs`](../src/state/timing.rs)):