q-loss-recovery
· RFC 9000 §2.2, §13.3 · resilience · layer quic · udp/4489 · MUST
Passing this means: Recovered rather than giving up.
Anomaly type: transport
How each client answered
| Client | Version | Verdict | What happened |
|---|---|---|---|
| curl | ngtcp2/1.11.0 | Pass | Recovered and completed the follow-up request. |
| quinn | noq fork | Pass | Recovered and completed the follow-up request. |
| aioquic | 1.3.0 | Pass | Recovered and completed the follow-up request. |
| chromium | build 1223 | Pass | Recovered and completed the follow-up request. |
| quic-go | quic-go v0.61.0 | Pass | Recovered and completed the follow-up request. |
| quiche | 0.30.0 | Pass | Recovered and completed the follow-up request. |
| neqo | 0.31.1 | Pass | Recovered and completed the follow-up request. |
What the clause requires
Reassemble the stream and deliver the whole body. §2.2 requires an endpoint to buffer data received out of order and deliver it as an ordered byte stream, and §13.3 has the lost data sent again in new STREAM frames — so a response full of gaps must still arrive complete and in order.
Judged against RFC 9000.
Run this one yourself
Every test is reachable from your own client. Nothing here needs an account.
curl -s https://conformance.pqcrypta.com/catalog.json \
| jq '.tests[] | select(.id == "q-loss-recovery")'
What this suite is · The full grid · All clients · All tests · Findings