Skip to content

Commit

Permalink
Make initial_max_stream_id_* optional and default to zero
Browse files Browse the repository at this point in the history
  • Loading branch information
martinthomson committed Nov 29, 2017
1 parent 1344895 commit 0276c89
Showing 1 changed file with 24 additions and 18 deletions.
42 changes: 24 additions & 18 deletions draft-ietf-quic-transport.md
Expand Up @@ -1128,17 +1128,6 @@ initial_max_data (0x0001):
sending a MAX_DATA ({{frame-max-data}}) for the connection immediately after
completing the handshake.

initial_max_stream_id_bidi (0x0002):

: The initial maximum stream ID parameter contains the initial maximum stream
number the peer may initiate for bidirectional streams, encoded as an unsigned
32-bit integer. This value MUST be a valid bidirectional stream ID for a
peer-initiated stream (that is, the two least significant bits are set to 0 by
a server and to 1 by a client). If an invalid value is provided, the
recipient MUST generate a connection error of type TRANSPORT_PARAMETER_ERROR.
This is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}})
immediately after completing the handshake.

idle_timeout (0x0003):

: The idle timeout is a value in seconds that is encoded as an unsigned 16-bit
Expand All @@ -1151,6 +1140,27 @@ stateless_reset_token (0x0006):
: The Stateless Reset Token is used in verifying a stateless reset, see
{{stateless-reset}}. This parameter is a sequence of 16 octets.

A client MUST NOT include a stateless reset token. A server MUST treat receipt
of a stateless_reset_token transport parameter as a connection error of type
TRANSPORT_PARAMETER_ERROR.

An endpoint MAY use the following transport parameters:

initial_max_stream_id_bidi (0x0002):

: The initial maximum stream ID parameter contains the initial maximum stream
number the peer may initiate for bidirectional streams, encoded as an unsigned
32-bit integer. This value MUST be a valid bidirectional stream ID for a
peer-initiated stream (that is, the two least significant bits are set to 0 by
a server and to 1 by a client). If an invalid value is provided, the
recipient MUST generate a connection error of type TRANSPORT_PARAMETER_ERROR.
This is equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}})
immediately after completing the handshake. The maximum stream ID is set to 0
if this parameter is absent, preventing the creation of new unidirectional
streams until a MAX_STREAM_ID frame is sent. Note that a default value of 0
does not prevent the the cryptographic handshake stream (that is, stream 0) to
be used.

initial_max_stream_id_uni (0x0008):

: The initial maximum stream ID parameter contains the initial maximum stream
Expand All @@ -1160,13 +1170,9 @@ initial_max_stream_id_uni (0x0008):
and to 3 by a client). If an invalid value is provided, the recipient MUST
generate a connection error of type TRANSPORT_PARAMETER_ERROR. This is
equivalent to sending a MAX_STREAM_ID ({{frame-max-stream-id}}) immediately
after completing the handshake.

A client MUST NOT include a stateless reset token. A server MUST treat receipt
of a stateless_reset_token transport parameter as a connection error of type
TRANSPORT_PARAMETER_ERROR.

An endpoint MAY use the following transport parameters:
after completing the handshake. The maximum stream ID is set to 0 if this
parameter is absent, preventing the creation of new unidirectional streams
until a MAX_STREAM_ID frame is sent.

omit_connection_id (0x0004):

Expand Down

0 comments on commit 0276c89

Please sign in to comment.