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 07e208b..9f045c4 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -1021,6 +1021,18 @@ The rule stated as a sentence someone can check by reading: > there, it does not take a slot.** The two sets are the same three call sites, > which is what makes this verifiable rather than a judgement call at each new one. +**Which of the two a request is, is the node's answer and not the client's.** +`tr` is drawn by the client, so it is a claim: the node resolves it against its +own record and serves the chunk as a leased transfer only when that record is a +**granted** lease **of this connection**. A lease it holds but has not granted is +refused with a code — a member reading while queued is the cap not applying — and +an id it has no record of is treated as leaseless and bounded below, because that +is also what a reconnect looks like from here, where the session's leases died +with the old connection and the client is re-opening them. Read as a bare +presence check, the field made every cap on this page decoration: any non-empty +string skipped the ceiling, and the queue held only the clients that chose to +wait. + **Why the exemption is expressed in concurrency and not in size or bytes**, which is the durable part of this decision: |