Subject: Re: [quicwg/base-drafts] H3 GOAWAY should be symmetric and cover bidi and uni streams (#2632)

From: afrind <[email-masked]>
Date: Tue, 17 Sep 2019 16:18:09 -0700

A different use case came up:

Consider streaming a (potentially infinite) live video as a sequence of pushes.  How does a client signal its intent to close this connection, and stop the server from pushing more video segments?

The client can send a STOP_SENDING frame on the request stream which is receiving the PUSH_PROMISEs, but this may result in less than graceful termination of that stream.

-- 
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/2632#issuecomment-532438009

---

From: Lucas Pardue <[email-masked]>
Date: Tue, 17 Sep 2019 16:33:22 -0700

In this case what do you advertise MAX_PUSH_ID as? By limiting the value and not incrementing it, you can cause the server to be unable to drive the connection, and allow the client to hit its idle timeout.

-- 
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/2632#issuecomment-532441217

---

From: afrind <[email-masked]>
Date: Tue, 17 Sep 2019 16:51:11 -0700

Yeah, limiting credit via MAX_PUSH_ID is one way, but I still prefer the explicit signal from GOAWAY - it's like immediately zeroing out the credit. 

-- 
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/2632#issuecomment-532444691

---

From: Lucas Pardue <[email-masked]>
Date: Tue, 17 Sep 2019 16:55:40 -0700

Agree. This is like writing a cheque but asking the other side not to cash it (out of band) to avoid it bouncing and causing pain all round.

-- 
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/2632#issuecomment-532445558

---

From: ianswett <[email-masked]>
Date: Tue, 17 Sep 2019 18:47:24 -0700

Even with a client sent GOAWAY, you'd receive a few more pushes within the next RTT.  If you managed MAX_PUSH_ID like flow control and only gave out enough extra for the time window you wanted to shut down within(ie: 1-2RTTs), I believe this achieves the desired behavior?  If that time window is <1RTT, then your only real option is CONNECTION_CLOSE?

-- 
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/2632#issuecomment-532482980