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

STREAM_ID_BLOCKED nits #1897

Merged
merged 2 commits into from Oct 23, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
21 changes: 10 additions & 11 deletions draft-ietf-quic-transport.md
Expand Up @@ -831,9 +831,10 @@ implementations.
If a sender runs out of flow control credit, it will be unable to send new
data. That is, the sender is blocked. A blocked sender SHOULD send a
STREAM_BLOCKED or BLOCKED frame. A receiver uses these frames for debugging
purposes. A receiver SHOULD NOT wait for a STREAM_BLOCKED or BLOCKED frame
purposes. A receiver MUST NOT wait for a STREAM_BLOCKED or BLOCKED frame
before sending MAX_STREAM_DATA or MAX_DATA, since doing so will mean that a
sender will be blocked for an entire round trip.
sender will be blocked for an entire round trip and the peer may never
send a STREAM_BLOCKED or BLOCKED frame.

It is generally considered best to not let the sender go into quiescence if
avoidable. To avoid blocking a sender, and to reasonably account for the
Expand Down Expand Up @@ -893,10 +894,8 @@ overhead, while withholding MAX_STREAM_ID frames can prevent the peer from using
the available parallelism.

The STREAM_ID_BLOCKED frame ({{frame-stream-id-blocked}}) can be
used to signal a shortage of available streams.
Implementations will likely want to increase the maximum stream ID as
peer-initiated streams close. A receiver MAY also advance the maximum stream ID
based on current activity, system conditions, and other environmental factors.
used to signal a shortage of available streams. Implementations will likely
want to increase the maximum stream ID as peer-initiated streams close.


# Connections {#connections}
Expand Down Expand Up @@ -4326,11 +4325,11 @@ Offset:

## STREAM_ID_BLOCKED Frame {#frame-stream-id-blocked}

A sender MAY send a STREAM_ID_BLOCKED frame (type=0x0a) when it wishes to open a
stream, but is unable to due to the maximum stream ID limit set by its peer (see
{{frame-max-stream-id}}). This does not open the stream, but informs the peer
that a new stream was needed, but the stream limit prevented the creation of the
stream.
A sender SHOULD send a STREAM_ID_BLOCKED frame (type=0x0a) when it wishes to
open a stream, but is unable to due to the maximum stream ID limit set by its
peer (see {{frame-max-stream-id}}). This does not open the stream, but informs
the peer that a new stream was needed, but the stream limit prevented the
creation of the stream.

The STREAM_ID_BLOCKED frame is as follows:

Expand Down