Subject: [quicwg/base-drafts] HTTP-31: Sending Reserved Frames prior to stream close (#4228)

From: Magnus Westerlund <[email-masked]>
Date: Fri, 16 Oct 2020 06:45:20 -0700

Section 7.2.8: https://www.ietf.org/archive/id/draft-ietf-quic-http-31.html#name-reserved-frame-types

 These frames have no semantics, and can be sent on any open stream when application-layer padding is desired.

So I am uncertain if it is acceptable to shoehorn in a reserved frame after a frame that is supposed to be the last and then result in a close of the frame? Based on what is written I would lean to the interpretation that it is allowed, as the frame sender has decided to not close the stream yet, and thus it is open. 

If this is correct interpretation than it is up to the editor if they like to clarify more. Else something needs to be done. 

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

---

From: Lucas Pardue <[email-masked]>
Date: Fri, 16 Oct 2020 06:58:57 -0700

The best example here is sending a reserved frame after a Request stream is opened by the client. Perhaps it is useful to call that out in section 4.1.

`can be sent on any open stream` is a bit loose. You can't send frames on qpack streams for instance, or as the first bytes on a push stream. Maybe we can rephrase it as, "Can be sent on any stream where frames are permitted to be sent"

-- 
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/4228#issuecomment-710064569

---

From: Mike Bishop <[email-masked]>
Date: Fri, 16 Oct 2020 12:21:54 -0700

There are no frames that close the stream, because stream closure is handled by the transport.  SETTINGS is special in that it is required to be first, and is covered by [this text](https://quicwg.org/base-drafts/draft-ietf-quic-http.html#section-9-4):

> Implementations MUST ignore unknown or unsupported values in all extensible protocol elements. Implementations MUST discard frames and unidirectional streams that have unknown or unsupported types. This means that any of these extension points can be safely used by extensions without prior arrangement or negotiation. **However, where a known frame type is required to be in a specific location, such as the SETTINGS frame as the first frame of the control stream (see Section 6.2.1), an unknown frame type does not satisfy that requirement and SHOULD be treated as an error.**

It would hypothetically apply to a future frame type which is required to come at the end of the stream as well, but we have no such frames at this time.  ([This text](https://quicwg.org/base-drafts/draft-ietf-quic-http.html#section-4.1-7) does impose specific ordering on DATA and HEADERS frames relative to each other, but says nothing about other frame types.)

@LPardue's point is well-taken, and I'll take that text.

-- 
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/4228#issuecomment-710466346

---

From: Lars Eggert <[email-masked]>
Date: Mon, 19 Oct 2020 04:15:06 -0700

@gloinul does the PR address your issue?

-- 
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/4228#issuecomment-712076334

---

From: Magnus Westerlund <[email-masked]>
Date: Mon, 19 Oct 2020 07:51:30 -0700

Yes, I think this PR clarifies things a bit and are sufficient to resolve my issue. 

-- 
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/4228#issuecomment-712219838

---

From: Lars Eggert <[email-masked]>
Date: Mon, 19 Oct 2020 11:02:23 -0700

Labeling this as "editorial" based on #4235 

-- 
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/4228#issuecomment-712344691

---

From: Mike Bishop <[email-masked]>
Date: Mon, 19 Oct 2020 13:41:06 -0700

Closed #4228 via #4235.

-- 
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/4228#event-3895431862