Skip to content

Commit

Permalink
Merge pull request #2354 from quicwg/stop-sending-ready
Browse files Browse the repository at this point in the history
STOP_SENDING is permitted for Ready streams
  • Loading branch information
martinthomson committed Jan 22, 2019
2 parents 552985f + 1002e76 commit a6f09e4
Showing 1 changed file with 14 additions and 17 deletions.
31 changes: 14 additions & 17 deletions draft-ietf-quic-transport.md
Original file line number Diff line number Diff line change
Expand Up @@ -4498,16 +4498,15 @@ Final Size:
## STOP_SENDING Frame {#frame-stop-sending}

An endpoint uses a STOP_SENDING frame (type=0x05) to communicate that incoming
data is being discarded on receipt at application request. This signals a peer
to abruptly terminate transmission on a stream.
data is being discarded on receipt at application request. STOP_SENDING
requests that a peer cease transmission on a stream.

Receipt of a STOP_SENDING frame is invalid for a locally-initiated stream that
has not yet been created or is in the "Ready" state (see
{{stream-send-states}}). Receiving a STOP_SENDING frame for a locally-initiated
stream that is "Ready" or not yet created MUST be treated as a connection error
of type STREAM_STATE_ERROR. An endpoint that receives a STOP_SENDING frame for
a receive-only stream MUST terminate the connection with error
STREAM_STATE_ERROR.
A STOP_SENDING frame can be sent for streams in the Recv or Size Known states
(see {{stream-send-states}}). Receiving a STOP_SENDING frame for a
locally-initiated stream that has not yet been created MUST be treated as a
connection error of type STREAM_STATE_ERROR. An endpoint that receives a
STOP_SENDING frame for a receive-only stream MUST terminate the connection with
error STREAM_STATE_ERROR.

The STOP_SENDING frame is as follows:

Expand Down Expand Up @@ -4719,14 +4718,12 @@ the initial limits (see {{zerortt-parameters}}).
The MAX_STREAM_DATA frame (type=0x11) is used in flow control to inform a peer
of the maximum amount of data that can be sent on a stream.

An endpoint that receives a MAX_STREAM_DATA frame for a receive-only stream
MUST terminate the connection with error STREAM_STATE_ERROR.

An endpoint that receives a MAX_STREAM_DATA frame for a send-only stream
it has not opened MUST terminate the connection with error STREAM_STATE_ERROR.

Note that an endpoint may legally receive a MAX_STREAM_DATA frame on a
bidirectional stream it has not opened.
A MAX_STREAM_DATA frame can be sent for streams in the Recv state (see
{{stream-send-states}}). Receiving a MAX_STREAM_DATA frame for a
locally-initiated stream that has not yet been created MUST be treated as a
connection error of type STREAM_STATE_ERROR. An endpoint that receives a
MAX_STREAM_DATA frame for a receive-only stream MUST terminate the connection
with error STREAM_STATE_ERROR.

The MAX_STREAM_DATA frame is as follows:

Expand Down

0 comments on commit a6f09e4

Please sign in to comment.