PQ Crypta Logo

Datagrams delivered out of order

Put the stream back in order and deliver the whole body. §2.2 requires an endpoint to be "able to deliver stream data to an application as an ordered byte stream", and says plainly that doing so "requires that an endpoint buffer any data that is received out of order". Distinct from the loss test, which needs retransmission before the gap can be filled. Nothing is lost here: every byte arrives, some of it early, and a client that assumes arrival order is delivery order will produce a corrupt body or stall waiting for data it already has.

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-packet-reordering · RFC 9000 §2.2 · resilience · layer quic · udp/4506 · MUST

Passing this means: Recovered rather than giving up.

Anomaly type: transport

How each client answered

ClientVersionVerdictWhat happened
curl libcurl/8.23.0 ngtcp2/1.25.0 Pass Recovered and completed the follow-up request.
quinn noq fork (189b0ed) Pass Recovered and completed the follow-up request.
aioquic 1.3.0 (PyPI wheel) Pass Recovered and completed the follow-up request.
chromium build 1248 Pass Recovered and completed the follow-up request.
quic-go quic-go v0.61.0 (h1:9So2anK4Tp22) Pass Recovered and completed the follow-up request.
quiche 0.30.0 (1c8e976) Pass Recovered and completed the follow-up request.
neqo 0.31.1 (cac2b74) Pass Recovered and completed the follow-up request.
picoquic 8162550 Pass Recovered and completed the follow-up request.
ngtcp2 3c23148 Pass Recovered and completed the follow-up request.
lsquic 4.9.4 (2b30189) Pass Recovered and completed the follow-up request.
xquic 2060a44 Pass Recovered and completed the follow-up request.
msquic 2.7.0 (7e6525d) Pass Recovered and completed the follow-up request.
quico 0.7.0 (npm) Pass Recovered and completed the follow-up request.

What the clause requires

Put the stream back in order and deliver the whole body. §2.2 requires an endpoint to be "able to deliver stream data to an application as an ordered byte stream", and says plainly that doing so "requires that an endpoint buffer any data that is received out of order". Distinct from the loss test, which needs retransmission before the gap can be filled. Nothing is lost here: every byte arrives, some of it early, and a client that assumes arrival order is delivery order will produce a corrupt body or stall waiting for data it already has.

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-packet-reordering")'