From 003207f94830fed0def25b49a7e6fc61655ec934 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 6 Nov 2026 05:33:42 +0100 Subject: trees over working links --- docs/peers.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'docs/peers.md') diff --git a/docs/peers.md b/docs/peers.md index 0b31556..7eb89a4 100644 --- a/docs/peers.md +++ b/docs/peers.md @@ -369,8 +369,9 @@ as unreached by its neighbours (they can't tell it from a link that broke), and out once they reach it again. A writer's changes pass on along its tree ([`swarm/tree.rs`](../src/swarm/tree.rs)), the same on every node: -built on the graph the member list gives (as if every member reached every other) and -on whom each member says it reaches. Members are ordered by their distance from the +built on the graph the member list gives (as if every member reached every other), less +the links members recorded as unreached and with those they recorded as reached (above), +and on whom each member says it reaches. Members are ordered by their distance from the writer over that graph, then whether they reach a member a hop closer, then by key; a member's parent is the neighbour it reaches that comes before it, the closest to the writer first (a link at least two round-trip buckets slower than its fastest to one @@ -398,7 +399,8 @@ what it lacks, and gets just that, and what that builds on, again (not what was after it: that may only be late). The parent and the child each work the tree out for themselves, and they agree only as -far as they have the same inputs. The member list's graph and `k` are in the document; +far as they have the same inputs. The member list's graph, `k` and the recorded links +are in the document; whom a member reaches and its round trips, it tells its neighbours (its parent among them); but whether a member a hop closer reaches the writer's side only its own neighbours know, and a node that doesn't takes it as reaching it. Where they differ, a -- cgit v1.3.1