From 6d6d343c1e2c2b110859e8301ed72e24d49259f8 Mon Sep 17 00:00:00 2001 From: Jana Iyengar Date: Mon, 4 Dec 2017 23:07:19 -0800 Subject: [PATCH 1/2] Minor mods to stream state machine text --- draft-ietf-quic-transport.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index c9b409894a..ebc5e032bb 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -3087,16 +3087,17 @@ state as a result of delayed delivery of packets. ### Bidirectional Stream States {#stream-bidi-states} A bidirectional stream is composed of a send stream and a receive stream. -Implementations might present the state of the pair of streams as a composite of -the states of the pair of streams. The simplest model presents the stream as -"open" when either send or receive stream is in a non-terminal state and -"closed" when both send and receive streams are in a terminal state. +Implementations might represent the state of the bidirectional stream as a +composite of the states of the constituent send and receive streams. The +simplest model presents the stream as "open" when either send or receive stream +is in a non-terminal state and "closed" when both send and receive streams are +in a terminal state. {{stream-bidi-mapping}} shows a more complex mapping of bidirectional stream states that loosely correspond to the stream states in HTTP/2 {{?HTTP2=RFC7540}}. This shows that multiple states on send or receive streams are mapped to the same composite state. Note that this is just one possibility -for such a mapping; thi mapping requires that data is acknowledged before the +for such a mapping; this mapping requires that data is acknowledged before the transition to a "closed" or "half-closed" state. | Send Stream | Receive Stream | Composite State | @@ -3140,15 +3141,15 @@ STOP_SENDING frame is received on a send stream that is already in the "Data Sent" state, a RST_STREAM frame MAY still be sent in order to cancel retransmission of previously-sent STREAM frames. -STOP_SENDING can only be sent for a receive stream that has not been +STOP_SENDING SHOULD only be sent for a receive stream that has not been reset. STOP_SENDING is most useful for streams in the "Recv" or "Size Known" states. An endpoint is expected to send another STOP_SENDING frame if a packet -containing the frame is lost. However, once either all stream data or a -RST_STREAM frame has been received for the stream - that is, the stream is in -any state other than "Recv" or "Size Known" - sending a STOP_SENDING frame is -unnecessary. +containing a previous STOP_SENDING is lost. However, once either all stream +data or a RST_STREAM frame has been received for the stream - that is, the +stream is in any state other than "Recv" or "Size Known" - sending a +STOP_SENDING frame is unnecessary. ## Stream Concurrency {#stream-concurrency} From b0009e3b0c27876a5fb8aebfec5d8725ab0d0d15 Mon Sep 17 00:00:00 2001 From: Jana Iyengar Date: Tue, 5 Dec 2017 15:51:45 -0800 Subject: [PATCH 2/2] ian's comments --- draft-ietf-quic-transport.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/draft-ietf-quic-transport.md b/draft-ietf-quic-transport.md index ebc5e032bb..94a22ce30a 100644 --- a/draft-ietf-quic-transport.md +++ b/draft-ietf-quic-transport.md @@ -3087,11 +3087,10 @@ state as a result of delayed delivery of packets. ### Bidirectional Stream States {#stream-bidi-states} A bidirectional stream is composed of a send stream and a receive stream. -Implementations might represent the state of the bidirectional stream as a -composite of the states of the constituent send and receive streams. The -simplest model presents the stream as "open" when either send or receive stream -is in a non-terminal state and "closed" when both send and receive streams are -in a terminal state. +Implementations may represent states of the bidirectional stream as composites +of send and receive stream states. The simplest model presents the stream as +"open" when either send or receive stream is in a non-terminal state and +"closed" when both send and receive streams are in a terminal state. {{stream-bidi-mapping}} shows a more complex mapping of bidirectional stream states that loosely correspond to the stream states in HTTP/2