milestone 16: behavioral fixes for silent failures, locks, counters and the query log
CI / test (push) Failing after 11s
CI / test-aarch64 (push) Failing after 2m22s
CI / frontend (push) Successful in 43s
CI / cross (push) Failing after 25s
CI / docker (push) Failing after 24s

This commit is contained in:
2026-08-07 01:54:40 +02:00
parent 5802148887
commit 25455e5ae2
31 changed files with 2054 additions and 297 deletions
+10 -3
View File
@@ -112,9 +112,16 @@ pub fn stream(
if (hub.overflowed(io, id)) break;
const wake = hub.wait(io, id, heartbeat_interval) catch return;
if (wake == .timeout) {
try w.writeAll(heartbeat);
try response.flush();
switch (wake) {
// Ruling 11 of milestone 16: the server is shutting down. Returning
// without `end` leaves the response unterminated, which is what a
// shutdown is; the client reconnects or gives up on its own.
.closed => return,
.timeout => {
try w.writeAll(heartbeat);
try response.flush();
},
.ready => {},
}
}