Visual RFC.
ALL RFCs / RFC 9000
Read the RFC ↗
RFC 9000 / MECHANISMS

Streams progress independently

01

A connection multiplexes ordered byte streams. A gap in one stream does not inherently block delivery on another.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 2.2 ↗
RFC 9000 · § 2.2EXAMPLE
3 / 3
Streams progress independentlyA hole blocks ordered delivery in stream 0 while stream 4 delivers its complete bytes.TWO ORDERED STREAMS · ONE CONNECTIONID 0AgapCDID 4PQRSLater bytes wait for the missing rangeID 4 delivers P Q R SNo delivery dependency on stream 0’s gapFlow control and congestion remain shared constraints
03
Deliver another stream’s contiguous bytes.

Stream 4 does not wait for stream 0’s missing byte range.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

Order belongs within each stream.

  • STREAM frames carry a stream ID, an offset, and data.
  • Ordered delivery requires buffering out-of-order bytes within the affected stream.
  • Independent delivery does not remove shared connection flow control or congestion constraints.
DETAILS

Applications can still introduce dependencies between streams. QUIC does not promise that all streams have independent network capacity.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Streams progress independently
  2. Stream IDs describe direction
  3. Establish a protected connection
  4. Limit data and stream counts
  5. Recover data, not packets
  6. Move a connection to a new path
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗