Subject: Re: [quicwg/base-drafts] Unidirectional Stream Headers in HTTP (#1359)

From: Lucas Pardue <[email-masked]>
Date: Sat, 09 Jun 2018 07:20:56 -0700

Thinking through this further, I think unidirectional streams *need* to be typed, otherwise you severely limit the use of non-reserved stream IDs. 

Without this change, the early streams are reserved for control and QPACK. All other server-initated unidirectional streams effectively end up belonging to Server Push. The first byte will attempt to be parsed as a Push ID, and probably pass! This prohibits my unbound server push extension, which would like to send PUSH_PROMISE frames on server-initiated streams.

-- 
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/1359#issuecomment-395972975

---

From: Martin Thomson <[email-masked]>
Date: Sun, 10 Jun 2018 22:56:21 -0700

That argument might be used to require typing of bidirectional streams.  What do you think of that @LPardue ?

-- 
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/1359#issuecomment-396130143

---

From: Lucas Pardue <[email-masked]>
Date: Mon, 11 Jun 2018 01:03:43 -0700

For hq is think bidirectional type is not required. The prime interaction pattern is request/response and bidi suits that well. 

H2 sets a precedent for reserving a bidi stream for other uses via the CONNECT method, the WebSocket extension is an example in practice.

So, a hq extension that needs 2-way comms could either use a pair of unidi streams, or emulate/enhance CONNECT.

-- 
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/1359#issuecomment-396156953

---

From: Mike Bishop <[email-masked]>
Date: Mon, 11 Jun 2018 10:36:25 -0700

I agree with the general premise that if we want to retain the flexibility to do something other than push with these streams in this version, there has to be a type indicator.

-- 
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/1359#issuecomment-396323980

---

From: Mike Bishop <[email-masked]>
Date: Mon, 11 Jun 2018 10:44:01 -0700

Critical flaw with this proposal:  If extra unidirectional stream types are no longer a breaking protocol change, the "rickroll" variant described in "Draft Version Guidance" is no longer a valid example of an incompatible experiment.  ;-)

-- 
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/1359#issuecomment-396326390

---

From: Martin Thomson <[email-masked]>
Date: Tue, 26 Jun 2018 17:09:30 -0700

Did we resolve this on the list?  It seemed like the objections were addressed, but I'm biased on this one.

-- 
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/1359#issuecomment-400501075

---

From: Mike Bishop <[email-masked]>
Date: Tue, 26 Jun 2018 21:25:11 -0700

I'm inclined to say we move forward with this, based on the list discussion.  However, it's bitrotten, and I promised to update this if #1446 landed first, which it did.  So that'll be tomorrow.  If that means it's in -14 instead of -13, that's okay.

-- 
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/1359#issuecomment-400538678

---

From: Mike Bishop <[email-masked]>
Date: Wed, 27 Jun 2018 09:43:14 -0700

@LPardue, I had said I would come back to this and add greasing values here too.  However, given that an unknown stream type is defined to be an error (and implementations are cautioned that peers can promote these errors to connection errors), sending grease values and mandating that receivers not treat them any differently will be a bit fragile.

I think to do that, we'd need to either prohibit unknown unidirectional streams being promoted, which seems an unfortunate exception case, or special-case the grease types, which rather defeats the purpose.

As a result, I'm merging this without grease and will open an issue to consider greasing later.

-- 
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/1359#issuecomment-400748238

---

From: Mike Bishop <[email-masked]>
Date: Wed, 27 Jun 2018 09:45:09 -0700

@MikeBishop pushed 1 commit.

98fad9e  Track stream 0 changes

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1359/files/db5ddb7ea872f776a22e762d98cdd7f4b4d3000b..98fad9e96bc6958a065e73da76b92d6f77e04d50

---

From: Mike Bishop <[email-masked]>
Date: Wed, 27 Jun 2018 16:55:02 +0000 (UTC)

c0e7a6d  Not that controlling

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1359/files/ba3952371e711cdac70f062fc27a69daa66856e4..c0e7a6ddfaabc2e9f966e44421e77cf50846faab

---

From: Mike Bishop <[email-masked]>
Date: Wed, 27 Jun 2018 09:56:52 -0700

Merged #1359.

-- 
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/1359#event-1704432732

---

From: Lucas Pardue <[email-masked]>
Date: Wed, 27 Jun 2018 10:04:06 -0700

@MikeBishop I agree with the dilemma. Now that this change has landed, let me update my unbound server push extension specification and implementation so we can have something tangible for any new ticket. 

Many thanks!

-- 
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/1359#issuecomment-400757715