Subject: [quicwg/base-drafts] Largest Reference isn't the right concept (#2110)

From: Martin Thomson <[email-masked]>
Date: Mon, 10 Dec 2018 23:06:18 -0800

Counting by reference implies something about the indexing system that is unnecessary.

For instance, with one entry in the table that is used, the current system insists on us signaling a Largest Reference of 1.  But most people would treat that entry as being at an index of 0.

The thing that we're sending is the number of inserts.  Describing the field in those terms clarifies things considerably.

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

---

From: afrind <[email-masked]>
Date: Tue, 18 Dec 2018 21:43:42 +0000 (UTC)

Some of the mismatch here may come from QPACK inheriting its roots from HPACK via QCRAM.  HPACK indexes from 1, and so did QPACK for a while.  But when we changed QPACK to index from 0 then Largest Reference became an off-by-one misnomer.

-- 
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/2110#issuecomment-448381556

---

From: Bence Béky <[email-masked]>
Date: Wed, 26 Dec 2018 10:49:39 -0800

QPACK is currently inconsistent in that static table indexing is explicitly defined to be zero-based, while dynamic table absolute indexing is explicitly one-based, see
https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#table-static
https://quicwg.org/base-drafts/draft-ietf-quic-qpack.html#indexing

I enthusiastically support PR #2111 and also changing absolute indexing to zero-based.

-- 
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/2110#issuecomment-450008152

---

From: Dmitri Tikhonov <[email-masked]>
Date: Wed, 26 Dec 2018 11:01:27 -0800

@bencebeky writes:
> I enthusiastically support [...] changing absolute indexing to zero-based.

This had been discussed before.  The consensus was to leave it one-based.

-- 
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/2110#issuecomment-450009704

---

From: csillagasz <[email-masked]>
Date: Wed, 26 Dec 2018 11:39:37 -0800

> This had been discussed before. The consensus was to leave it one-based.

My impression is that this consensus was driven by the artifical constraint of Largest Reference having to be able to match the absolute index while also having a dedicated value (of zero) for no dynamic reference.  Martin's proposed change from Largest Reference to Required Insert Count removes this rather contrived constraint and allows the more natural indexing scheme of zero based indexing that matches static table indexing, the majority of developers' mental model, and the majority of implementations' innards.

-- 
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/2110#issuecomment-450014755

---

From: Bence Béky <[email-masked]>
Date: Wed, 26 Dec 2018 11:40:32 -0800

-- 
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/2110#issuecomment-450014886

---

From: Dmitri Tikhonov <[email-masked]>
Date: Wed, 26 Dec 2018 12:01:56 -0800

I think the decision to keep dynamic index starting at 1 is because the static table also started at 1 when the initial proposal was made in August of 2018.

-- 
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/2110#issuecomment-450017702

---

From: Martin Thomson <[email-masked]>
Date: Sun, 30 Dec 2018 18:01:46 -0800

Whatever the reason (I forget why that was, but it was probably due to some special-casing of 0), that was a long time ago.

-- 
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/2110#issuecomment-450601069