Output of one EDU selector. shipped rides the current transaction up to
the shared budget; overflow past the budget is written as queued rows for
later transactions to drain.
In-flight bookkeeping for one Destination. Cross-attempt backoff lives
in peer_status (federation only); appservice/push paths keep their own
status because they are not server-keyed.
Per-rank slice of receipt EDU output. Each entry becomes one
Edu::Receipt buffer; rank 0 carries each userβs earliest receipt
in the window, rank 1 the next, and so on. Most windows produce a
single rank.
Per-(room, user) bucket of ReceiptData. MSC3771 allows one receipt
per thread context per user per EDU window; the dominant case is
still a single receipt, so inline-1 fits without a heap touch.
Per-worker retry timer keyed by earliest-retry deadline (tokio time). Every
recorded federation failure arms one entry; heap size is bounded by the
concurrently-sad destinations plus transient re-arms.