Subject: Re: [quicwg/base-drafts] Clients can send GOAWAY too (#3129)

From: Mike Bishop <[email-masked]>
Date: Tue, 04 Feb 2020 01:59:20 -0800

@MikeBishop pushed 1 commit.

d1f5bab9b7becad31f20203571c5e2fb328a9509  GOAWAY can end uncertainty

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3129/files/04b43876bccfd669bd854ea7cc25704dae695729..d1f5bab9b7becad31f20203571c5e2fb328a9509

---

From: ianswett <[email-masked]>
Date: Wed, 12 Feb 2020 11:32:13 -0800

ianswett approved this pull request.

This seems fine, though I'm curious what the intent is if a GOAWAY is sent with the incorrect stream type?

> -the GOAWAY frame, those requests will not be processed and MAY be retried by the
-client on a different connection.  The client MAY cancel these requests.  It is
-RECOMMENDED that the server explicitly reject such requests (see
-{{request-cancellation}}) in order to clean up transport state for the affected
-streams.
-
-Requests on Stream IDs less than the Stream ID in the GOAWAY frame might have
-been processed; their status cannot be known until a response is received, the
-stream is reset individually, or the connection terminates.  Servers MAY reject
-individual requests on streams below the indicated ID if these requests were not
-processed.
+connection and initiate a graceful connection close.  Endpoints initiate the
+graceful shutdown of a connection by sending a GOAWAY frame ({{frame-goaway}}).
+The GOAWAY frame contains an identifier that indicates to the receiver the range
+of requests or pushes that were or might be processed in this connection.  The
+server sends a client-initiated bidirectional Stream ID; the client sends a Push

To be clear, this means if I don't want to accept more requests, I can just increment the largest request's stream ID by 1 and send it, as it seems like there is no requirement to send the correct type of stream ID?  If so, you could remove this sentence and not imply that one is supposed to send the correct type.

 ~~~~~~~~~~  drawing
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                          Stream ID (i)                      ...
+|                  Stream ID/Push ID (i)                      ...

Sometimes using one ID space and sometimes using the other still seems odd to me, but it's where we're at.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3129#pullrequestreview-357627822