Handled it: respected the window and announced the stall (1 DATA_BLOCKED, 1 STREAM_DATA_BLOCKED).
The client did what the clause requires.
What was measured
- Client
- xquic — Alibaba xquic + BoringSSL, 2060a44
- Test
- Deliberately tight MAX_DATA and MAX_STREAM_DATA —
q-flow-control - Clause
- RFC 9000 §4 (SHOULD)
- Class
- discretionary — The RFC permits either behaviour; the report says which was chosen.
- Required behaviour
- Respect the limit. Announcing the stall with DATA_BLOCKED or STREAM_DATA_BLOCKED is a SHOULD in §4.1, not a MUST, so a client that stays silent is still conformant.
- Measured
- 2026-09-18
Reproduce it
The suite is the judge, so the reproduction is to point the same client at the same test and let the server report what it saw.
SESSION=$(curl -sX POST https://conformance.pqcrypta.com/session | jq -r .id)
# then drive xquic at the test URL and read the verdict:
curl -s https://conformance.pqcrypta.com/report/$SESSION.json | jq '.results["q-flow-control"]'
What this suite is · The full grid · All clients · All tests · Findings