diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/peers.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/peers.md b/docs/peers.md index 2ff10e0..13ee85d 100644 --- a/docs/peers.md +++ b/docs/peers.md @@ -380,6 +380,17 @@ reaches no other member, by its parent's), or can't apply the next message and a what it lacks, and gets just that, and what that builds on, again (not what was sent 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; +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 +change goes twice, or the parent counts the child as covered by another while the child +counts on it: then nobody sends, and the slow round brings the change. So does it where +the parent doesn't reach a member that reaches it and picks it (one-way reachability): +the parent sends it nothing, and counts nothing. The benchmark counts both (child links +the child confirms, and orphans: `simtest/bench.rs`, "views of the trees"). + A node's neighbours that get a writer's changes from another parent in its tree, and the writer, count as having them: what it passes on to them later along other trees doesn't carry them again. Without that, with writers in turn, each change coming along |
