Files
buzz/crates
Logan Johnson 970f3ac99b fix(nip-ar): fence sync frames by owner and bound the held list
- Every sync frame (initial EVENTs, EOSE, live EVENTs) is queued only
  while the request still owns its ID, checked under the lifecycle lock
  after queue room is reserved. A CLOSE or replacing REQ during a head
  read or a blocked send now fences the frame.
- EOSE is inside the snapshot budget and the cancellation race, so a
  slow reader cannot hold the handler permits past the budget.
- The held list refuses a change before storing it when it would pass
  MAX_SYNC_EVENTS or a 4 MiB byte bound for held removals, and holds
  nothing once the sync must resync.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Logan Johnson <loganj@squareup.com>
2026-10-29 19:15:38 -04:00
..