From 24e54b8d3af8d7a669001873c22397a48d290c58 Mon Sep 17 00:00:00 2001 From: Patrick McManus Date: Mon, 25 Sep 2017 11:45:02 -0400 Subject: [PATCH] make stream id even/odd and non-reuse rules normative MUST {NOT} --- draft-ietf-quic-transport.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index 3247cc3b93..1e0482ca07 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -2496,16 +2496,17 @@ for some applications. ## 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 -Stream IDs; streams initiated by the server use even-numbered Stream IDs. +ID. To avoid Stream ID collision, clients MUST initiate streams using +odd-numbered Stream IDs; servers MUST initiate streams using +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. -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. +A QUIC endpoint MUST NOT 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. 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