Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implicit acknowledgment via header block acknowledgment #1399

Closed
wants to merge 4 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions draft-ietf-quic-qpack.md
Expand Up @@ -508,7 +508,7 @@ already reached the decoder's limit for blocked streams.
| 1 | Insert Count (7+) |
+---+---------------------------+
~~~~~~~~~~
{:#fig-size-sync title="Table Size Synchronize"}
{:#fig-size-sync title="Table State Synchronize"}

### Header Acknowledgement

Expand All @@ -534,7 +534,7 @@ blocks within a stream have been fully processed.

An encoder MUST treat receipt of a Header Acknowledgment as also acknowledging
any dynamic table entries that the header block referenced. That is, this
instruction is also processed as a Table Size Synchronize instruction with a
instruction is also processed as a Table State Synchronize instruction with a
value matching the Largest Reference of the corresponding header block.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not quite, because TSS is a count of the inserts received since the last TSS, instead of an absolute index.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Damn, really? That's more efficient, I agree, but I completely missed that. (My fault, not the spec.) Since these are on the same stream, I think that we can make TSS incremental and avoid having two counters.

Now I have to fix my code...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean TSS will be incremental from the largest acknowledged largest reference or most recent TSS?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. That way you maintain a single value for largest acknowledged entry and that is updated by TSS and header acknowledgment. It's simpler and ensures correctness more directly.


A decoder MUST track increases to the largest acknowledged dynamic table entry
Expand Down