aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/tree.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/swarm/tree.rs')
-rw-r--r--src/swarm/tree.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/swarm/tree.rs b/src/swarm/tree.rs
index 8031a69..8093c91 100644
--- a/src/swarm/tree.rs
+++ b/src/swarm/tree.rs
@@ -12,11 +12,13 @@
//! it reaches routes around links that don't work: where a writer behind NAT reaches a
//! single member, that one comes first and the others take it.
//!
-//! A sync message that passes a writer's change on says whose (`SyncEnvelope::writer`).
-//! Whoever applies one passes it on to its own children in that writer's tree
-//! (`forward`), however it got it; so does the writer, to all its neighbours, with its
-//! own writes. A member no member it reaches comes before (or whose parent didn't get
-//! the change) gets it from the announcements (`swarm::relay`), as before.
+//! Whose a change is, its author says (every node writes as itself: its node ID, by
+//! pair key here): whoever applies changes passes them on to its own children in each of
+//! their writers' trees (`forward`), however they came; so does the writer, to all its
+//! neighbours, with its own writes. A sync message along a tree also says whose
+//! (`SyncEnvelope::writer`), for one that had them already (`swarm::sync`). A member no
+//! member it reaches comes before (or whose parent didn't get the change) gets it from
+//! the announcements (`swarm::relay`), as before.
//!
//! The graph is computed once per member list (tens of milliseconds for thousands of
//! members), the distances once per writer and graph (`MAX_WRITERS` kept).