PQ Crypta Logo

Stream limits set to the minimum a request needs

Stay inside the advertised limits. Respecting them is a MUST — §4.6 says "Endpoints MUST NOT exceed the limit set by their peer" — but announcing the stall with STREAMS_BLOCKED is only a SHOULD, so a client that stays silent is still conformant.

PQ CRYPTA PLATFORM

🏠 Main

📰 News

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

Jump to an anomaly59

Every one of these is a page: what the server emits, the clause it is judged against, and how each client answered. The full list carries the verdict tallies too.

q-stream-limit · RFC 9000 §4.6 · discretionary · layer quic · udp/4488 · MUST NOT

Passing this means: The RFC permits either behaviour; the report says which was chosen.

Anomaly type: transport

How each client answered

ClientVersionVerdictWhat happened
curl libcurl/8.23.0 ngtcp2/1.25.0 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
quinn noq fork (189b0ed) Pass Handled it: stayed inside the stream limits and announced the stall (0 STREAMS_BLOCKED for bidirectional, 1 for unidirectional), which §4.6 recommends but does not require.
aioquic 1.3.0 (PyPI wheel) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
chromium build 1248 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
quic-go quic-go v0.61.0 (h1:9So2anK4Tp22) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
quiche 0.30.0 (1c8e976) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
neqo 0.31.1 (cac2b74) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
picoquic 8162550 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
ngtcp2 3c23148 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
lsquic 4.9.4 (2b30189) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
xquic 2060a44 Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
msquic 2.7.0 (7e6525d) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.
quico 0.7.0 (npm) Pass Tolerated it and continued. The specification permits this but does not require it; a client that rejected it would also be conformant.

What the clause requires

Stay inside the advertised limits. Respecting them is a MUST — §4.6 says "Endpoints MUST NOT exceed the limit set by their peer" — but announcing the stall with STREAMS_BLOCKED is only a SHOULD, so a client that stays silent is still conformant.

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-stream-limit")'