diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/MESHBAY_DESIGN.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 92c3021..b3b44b3 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -2504,6 +2504,18 @@ Two rules for a new application here: function. A copy keeps agreeing until one of them changes, and the symptom is a show whose episodes stream from two different nodes. +**Search dials many nodes at once, so its deadline measures stalling rather than +elapsed time.** Opening one group from the sidebar waits out the transport's own +budgets; Search opens up to a poolful, three at a time, and waits for the slowest +of each batch — so the deadline it imposes is what a page of unreachable groups +costs in spinner, and raising it to accommodate a slow link taxes every dead one. +A node that is not there reports no progress and fails in one window. A node that +answers ICE, then opens a channel, buys another window at each step, to a ceiling, +because a deadline that only ever resets has none. A flat budget cannot tell a +slow link from a node that is not answering, and set low enough for the fan-out it +cuts off connections that are still arriving: the same group then fails in Search +and opens from the sidebar, against the same node. + **The Files explorer is deliberately not merged**, and not "mostly not": there each group is a top-level folder, and merging would remove a file from one of them. A test refuses a build that changes this. |