Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restored a few error codes and redefined FRAME_ERROR. #521

Closed
wants to merge 9 commits into from
14 changes: 8 additions & 6 deletions draft-ietf-quic-transport.md
Expand Up @@ -2319,18 +2319,19 @@ similar to the way ephemeral streams are used in SST
for some applications.


Stream Identifiers {#stream-id}
## Stream Identifiers {#stream-id}

Streams are identified by an unsigned 32-bit integer, referred to as the Stream
ID. To avoid Stream ID collision, clients initiate streams using odd-numbered
ID. To avoid Stream ID collision, clients initiate streams using odd-numbered
Stream IDs; streams initiated by the server use even-numbered Stream IDs.

Stream ID 0 (0x0) is reserved for the cryptographic handshake. Stream 0 MUST NOT
be used for application data, and is the first client-initiated stream.
Stream ID 0 (0x0) is reserved for the cryptographic handshake. Stream 0 MUST
NOT be used for application data, and is the first client-initiated stream.

A QUIC endpoint cannot reuse a Stream ID. Streams MUST be created in sequential
order. Open streams can be used in any order. Streams that are used out of order
result in lower-numbered streams in the same direction being counted as open.
order. Open streams can be used in any order. Streams that are used out of
order result in lower-numbered streams in the same direction being counted as
open.

Stream IDs are usually encoded as a 32-bit integer, though the STREAM frame
({{frame-stream}}) permits a shorter encoding when the leading bits of the
Expand Down Expand Up @@ -2811,6 +2812,7 @@ Public Reset packet.
An endpoint that receives an invalid CONNECTION_CLOSE frame MUST NOT signal the
existence of the error to its peer.


## Stream Errors

If the error affects a single stream, but otherwise leaves the connection in a
Expand Down