Subject: [quicwg/base-drafts] Issue when a server cancels a push stream (#3698)

From: Dragana Damjanovic <[email-masked]>
Date: Tue, 26 May 2020 07:02:57 -0700

The spec suggest that a server should send a CANCEL_PUSH to notify a client that it will not fulfill a PUSH_PROMISE. The server should send CANCEL_PUSH before a push stream has been open.

The server still can cancel a push stream after it has been created and that will have a similar effect as a CANCEL_PUSH frame. There is a small problem with that. If the server resets a push stream before client starts reading, the client may have not read the push_id from the stream and that push_id will never be fulfill or cancel for the client point of view.
Should there be a sentence in the spec explaining this? Probably suggesting not to cancel a push stream until server is certain that client has read it, which is difficult.
Should the spec suggest ot send CANCEL_PUSH even after a push stream has been created? 

-- 
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/3698

---

From: Martin Thomson <[email-masked]>
Date: Tue, 26 May 2020 15:04:17 -0700

The server doesn't need to ensure that the push ID is read if CANCEL_PUSH is used, mostly.  If the stream type is read, but not the push ID (which is entirely possible), then the client will know that there was a push and that it didn't happen, but can't connect that with the promise or cancellation.  In that case, clients need to handle that.

In fact, this highlights the value of CANCEL_PUSH in the case where the stream is reset.

-- 
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/3698#issuecomment-634304868

---

From: Mike Bishop <[email-masked]>
Date: Tue, 26 May 2020 15:34:17 -0700

This will not break interop either way.  We can change the recommendation easily.

-- 
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/3698#issuecomment-634316024