mirror of
https://github.com/block/buzz.git
synced 2026-10-28 04:51:40 +00:00
An ordinary REQ refused for handler saturation or WebSocket admission sent a bare CLOSED, so an artifact sync (or live subscription) that held the same ID kept delivering under a closed ID. Both REQ kinds now go through close::refuse, which retires the old holder under the lifecycle lock before CLOSED. refuse also cancels the connection when CLOSED cannot be queued. The old holder is already gone, and below the slow-client grace limit nothing else would tell the client. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Signed-off-by: Logan Johnson <loganj@squareup.com>