a73x

97ca97d2

docs: say why the harness quicPump keeps its own loop

a73x   2026-08-31 21:58

Commit message
docs: say why the harness quicPump keeps its own loop

It is `pumpUntil` with a body, and the body is load-bearing: every round
has to give each QUIC peer a turn to read and acknowledge, or the
daemon's egress never drains and the predicate can never come true.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TWxBL1HBULH1ZwTNzzKTja

src/server/server_test_harness.zig
Old New
@@ -287,6 +287,11 @@ pub fn quicTestServer(srv: *Server, key: quic.Key) !struct { l: *quic_server.Lis
287 287
288 /// Single-threaded: the daemon's own pump is what services the listener, which 288 /// Single-threaded: the daemon's own pump is what services the listener, which
289 /// is the integration under test. 289 /// is the integration under test.
290 ///
291 /// `pumpUntil` with a body, and it keeps the body rather than becoming a
292 /// `pumpUntil` call: every round has to give each QUIC peer a turn to read
293 /// and acknowledge, or the daemon's egress never drains and `done` can
294 /// never come true.
290 pub fn quicPump( 295 pub fn quicPump(
291 srv: *Server, 296 srv: *Server,
292 clients: []*quic_server.TestPeer, 297 clients: []*quic_server.TestPeer,