aboutsummaryrefslogtreecommitdiffstats
path: root/src/swarm/tree.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-03 06:46:44 +0100
committertv <tv@krebsco.de>2026-11-03 06:46:44 +0100
commitaf0b36a1532311669303dc8134bf74e2d607ef0c (patch)
tree1791788fafeaf8a27fc9228dbc2d5c9b3db81021 /src/swarm/tree.rs
parent0617951a2936a8dd7c64eb05a3605893cc9d73f1 (diff)
writers from authors
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).