QueryStreams
class QueryStreams @InternalWowApi constructor(val chunkSize: Int = QueryGateway.DEFAULT_STREAM_CHUNK_SIZE, val maxHold: Duration = DEFAULT_MAX_HOLD)
How the public port streams a list as server-sent events: keyset chunks of chunkSize records, each record's event with the cursor token of its position as its id, resumed after the position a request's Last-Event-ID names. A stream is bounded by time and bulkhead permits, not rows: after maxHold (Duration.ZERO: no bound) it ends with an end event {"reason":"hold-expired","resumable":true}, and the client resumes it. close ends every open stream with node-stopping and refuses new ones (wow.node.closing), so a node that stops does not wait for its streams.