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

🧪 Interactive Apps

📰 News

🛡️ PQ Crypta Proxy

👤 Account

⟨ QUANTUM ERROR PORTAL ⟩

Navigate the Error Dimensions

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 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

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

What this suite is · The full grid · All clients · All tests · Findings