- From: Patrick Meenan <patmeenan@gmail.com>
- Date: Tue, 29 Jan 2019 16:37:50 -0500
- To: Patrick Meenan <patmeenan@gmail.com>, Lucas Pardue <lucaspardue.24.7@gmail.com>, Amos Jeffries <squid3@treenet.co.nz>, HTTP Working Group <ietf-http-wg@w3.org>
- Message-ID: <CAJV+MGweqA8poOoRwt1KLvPs4okkVM6cVr9efoFYM4Y9g8r_hg@mail.gmail.com>
I don't see how that would help for the Chrome linear-list case where streams of the same "priority" are attached to the end of the last stream with the same "priority" (and ahead of streams with a lower priority). Root -> Placeholder X -> Stream A -> Placeholder Y -> Stream B -> Placeholder Z -> Stream C If you want to insert Stream D after Stream B you would literally need a placeholder between EVERY stream and they would have to live forever, otherwise you risk trying to attach to a placeholder or stream that may have already completed. At that point you'll blow through any placeholder limit and you may as well keep all of the stream ID's indefinitely. You can't sparsely populate the placeholders because you don't know where you will be inserting future streams or what previous streams may be in-flight when you go to do the insert. Even moving the placeholder to always represent the "end" of a list would be racy relative to the stream that the placeholder is currently attached to. On Tue, Jan 29, 2019 at 4:13 PM Dmitri Tikhonov <dtikhonov@litespeedtech.com> wrote: > On Tue, Jan 29, 2019 at 02:53:55PM -0500, Patrick Meenan wrote: > > As far as I can tell, the placeholder streams serve to handle the Firefox > > use case of using idle streams for groupings, not to eliminate the need > to > > synchronize tree states. When you chain streams after each other (the > > Chrome case) you need to make sure the stream you are attaching to is > still > > known by the server. > > The solution is to use placeholders: do not make one stream depend > on another, but put a placeholder in between. > > Some Node -> Stream A -> Placeholder X -> Stream B > > If Stream A goes away, Stream B is not moved: > > Some Node -> Placeholder X -> Stream B > > - Dmitri. >
Received on Tuesday, 29 January 2019 21:38:22 UTC