Subject: [quicwg/base-drafts] Improve language on blocking entries. (#3131)

From: Bence Béky <[email-masked]>
Date: Tue, 22 Oct 2019 16:36:51 -0700

Remove &quot;insertion has been acknowledged&quot; phrase to avoid confusion
between Header Acknowledgement instructions implicitly acknowledging
encoder stream instructions and explicitly acknowledging header blocks.
Use Known Received Count instead.

Clarify that references on the encoder stream do not block an entry from
eviction.  Trivial as it is, I overlooked this at first, and added quite
some unnecessary complexity that was eventually removed at
https://quiche.googlesource.com/quiche/+/b09d44167c543b80b2c27408dd1f9df3b07c9741.
My motivation here is to help future implementers to avoid this pitfall.

Merge redundant Reference Tracking section into Blocked Dynamic Table
Insertions.

Change style of &quot;Note&quot; at end of section for consistency.  There were
already four sentences starting with &quot;Note that&quot; throughout the draft
before this PR (now there are six), but no other &quot;Note:&quot; markdown.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/3131

-- Commit Summary --

  * Improve language on blocking entries.

-- File Changes --

    M draft-ietf-quic-qpack.md (28)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3131.patch
https://github.com/quicwg/base-drafts/pull/3131.diff

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

---

From: Bence Béky <[email-masked]>
Date: Tue, 22 Oct 2019 16:39:17 -0700

@bencebeky pushed 1 commit.

e6f4b9a1cf82ca84a35794c906e336734d962d47  Improve language on blocking entries.

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

---

From: Mike Bishop <[email-masked]>
Date: Mon, 28 Oct 2019 13:10:02 -0700

MikeBishop commented on this pull request.

This removes the text that you have to track references.  Of course you *do* to accomplish what this section describes.  Do we want a normative term somewhere?

Separately, discussion started on Slack -- maybe instead of improving the language about the term overlap, we could just change the term used for one of the "blocking"s.

-- 
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/3131#pullrequestreview-308116856

---

From: Dmitri Tikhonov <[email-masked]>
Date: Mon, 28 Oct 2019 13:17:32 -0700

I would not tie the definition of what it means for an entry to be acknowledged to an implementation.  Keeping a count of entries that have been inserted via the `Known Received Count` is just one way to do it.

The phrase "until its [the entry's] insertion has been acknowledged" is not ambiguous.  I don't agree that there is confusion to begin with.

-- 
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/3131#issuecomment-547126976

---

From: Bence Béky <[email-masked]>
Date: Mon, 28 Oct 2019 13:18:20 -0700

> This removes the text that you have to track references. Of course you _do_ to accomplish what this section describes. Do we want a normative term somewhere?
> 

Sure, let me get back to this tomorrow.

> Separately, discussion started on Slack -- maybe instead of improving the language about the term overlap, we could just change the term used for one of the "blocking"s.

I'm fine with finding a new term.

-- 
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/3131#issuecomment-547127302

---

From: Bence Béky <[email-masked]>
Date: Mon, 28 Oct 2019 13:19:53 -0700

> I would not tie the definition of what it means for an entry to be acknowledged to an implementation. Keeping a count of entries that have been inserted via the `Known Received Count` is just one w…

Both endpoints must keep track of Known Received Count anyway, so this does not feel too implementation-specific to me.

-- 
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/3131#issuecomment-547127959

---

From: Dmitri Tikhonov <[email-masked]>
Date: Mon, 28 Oct 2019 13:20:46 -0700

> Both endpoints must keep track of Known Received Count anyway

That is incorrect.  An alternative way to do this is to use modulo arithmetic.

-- 
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/3131#issuecomment-547128286

---

From: Bence Béky <[email-masked]>
Date: Tue, 29 Oct 2019 05:03:09 -0700

ab210a07bdaa4ab13fd79d538a5074fd5afbb35a  Revert changing acknowledging insertion to comparing absolute index to Known Received Count.

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

---

From: Bence Béky <[email-masked]>
Date: Tue, 29 Oct 2019 05:04:42 -0700

> The phrase "until its [the entry's] insertion has been acknowledged" is not ambiguous. I don't agree that there is confusion to begin with.

After re-reading the PR, I agree that this phrase is not ambigous.  I'm reverting this part.

-- 
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/3131#issuecomment-547387897

---

From: Bence Béky <[email-masked]>
Date: Tue, 29 Oct 2019 05:10:43 -0700

The following sentence from the old text that I propose to remove:

> An encoder MUST ensure that a header block which references a dynamic table	
> entry is not processed by the decoder after the referenced entry has been	
> evicted.

is redundant with the following sentence that I am leaving untouched:

> An encoder MUST NOT insert an entry into the dynamic table (or duplicate an
> existing entry) if doing so would evict a blocking entry.

(Redundant in the sense that the second sentence implies the first.)  I do not believe that removing the first sentence while leaving the second one relaxes normative requirements on the encoder, nor do I believe that keeping both sentences makes the draft clearer.

-- 
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/3131#issuecomment-547389906

---

From: Bence Béky <[email-masked]>
Date: Tue, 29 Oct 2019 05:13:05 -0700

9fd0b8bece2994dc2fe5a321657469c5fea4918d  Remove unnecessary wordcrafting to blocked-insertion first paragraph.

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3131/files/ab210a07bdaa4ab13fd79d538a5074fd5afbb35a..9fd0b8bece2994dc2fe5a321657469c5fea4918d