cultmesh-ts: resend the capped frame's answer until acknowledged, then end the session #47
Loading…
Reference in a new issue
No description provided.
Delete branch "libby/ts-capped-answer-reliable"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up
capped-answer-delivery-ts-rs-cs, TS; Python isfe73795d.endCappedSessiondeleted the session right after the capped (8th) frame's answer was sent, so the resend timer never saw it and a lost datagram left the peer without the answer. Now the session keeps running until the peer has acknowledged every reply (lost ones are resent) or a 2 s grace passes, then the goodbye goes out; frames behind the capped one are not served meanwhile. The resend timer ends it.Touches no gate: write-authority decisions and the refusal frames are unchanged (the diff is
endCappedSession, one early return inhandleDocumentServerFrame, and the resend timer).Tests (three new, with a UDP relay that drops server datagrams): a lost capped answer is resent and arrives before the goodbye; a never-acknowledged one still ends after the grace; nothing behind the cap is served. The first fails on main. Seven hand mutants under prlimit as=4GiB cpu=300, six applied cleanly and all killed (grace 0, grace 60 s, end without waiting on acks, end only at the deadline, remove the post-cap guard, end at once as before); the seventh pattern did not match. Suite: 186 pass; the one failure (content.test
toNodeListenergzip) fails on main too.🤖 Generated with Claude Code