Subject: [quicwg/base-drafts] Why do I have to explicitly cancel after GOAWAY (#2226)

From: ekr <[email-masked]>
Date: Thu, 20 Dec 2018 15:06:35 -0800

Why do I have to explicitly cancel after GOAWAY?

```
Once GOAWAY is sent, the server MUST cancel requests sent on streams with an
identifier higher than the indicated last Stream ID.  Clients MUST NOT send new
requests on the connection after receiving GOAWAY, although requests might
already be in transit. A new connection can be established for new requests.

If the client has sent requests on streams with a higher Stream ID than
indicated in the GOAWAY frame, those requests are considered cancelled
({{request-cancellation}}).  Clients SHOULD reset any streams above this ID with
the error code HTTP_REQUEST_CANCELLED.  Servers MAY also cancel requests on
streams below the indicated ID if these requests were not processed.
```

Given that GOAWAY already tells the client this, what's the point?

-- 
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/issues/2226

---

From: Martin Thomson <[email-masked]>
Date: Thu, 20 Dec 2018 17:59:38 -0800

GOAWAY tells the client that those requests aren't going to be serviced, but the streams will continue to exist.  If the cleanup period is significant, having the streams open is a bad idea.  However, attaching SHOULD to this is unnecessary, I think that we might instead just note that clients are free to do as they please with streams that won't be answered.

-- 
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/issues/2226#issuecomment-449213629