Subject: [quicwg/base-drafts] How does QPACK delete horizon interact with pushed streams? (#835)

From: afrind <[email-masked]>
Date: Wed, 04 Oct 2017 15:07:08 +0000 (UTC)

QPACK tracks which streams reference a header by keeping a horizon plus additional streams.  All streams lower than the horizon are assumed to reference the header.  Because client initiated streams are odd and push streams are even, the stream space does not increment in a linear fashion.  A client-side decoder, for example, needs to track all the streams that are done processing headers.  When streams 1 and 3 complete, it cannot adjust its horizon to 3, because stream 2 has not completed (it may not even exist, or ever exist). 

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

---

From: afrind <[email-masked]>
Date: Wed, 04 Oct 2017 15:09:58 +0000 (UTC)

One possible solution is to not use stream IDs at all for tracking QPACK header usage, and instead use a header block sequence number that increments linearly for all header blocks.  

This has a couple advantages in my opinion:

1) fixes the problem with even/odd streams
2) removes the need to treat headers and trailers differently
3) removes transport stream identifier from the compression code

The obvious disadvantage is that it will decrease the compression ratio because the sequence number would need to be included in every compressed header block.

-- 
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/835#issuecomment-334187853

---

From: afrind <[email-masked]>
Date: Wed, 04 Oct 2017 15:15:22 +0000 (UTC)

Oh this probably doesn't work.  How does a receiver know which header sequences were in a reset transport 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/835#issuecomment-334189702

---

From: Mike Bishop <[email-masked]>
Date: Wed, 04 Oct 2017 09:33:53 -0700

Technically, since QPACK isn't an adopted draft, this isn't an issue with the current drafts.  If we don't reach a resolution today, I'll probably mark this as "parked."  The most obvious (but ugly) is to add more Stream ID Lists for servers, but I don't like the dichotomy and I don't like adding the bytes needlessly to clients.  We'll need to figure something out here.

-- 
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/835#issuecomment-334214406