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

More precision in defining string literals #4249

Merged
merged 2 commits into from Oct 19, 2020
Merged
Changes from all commits
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
14 changes: 8 additions & 6 deletions draft-ietf-quic-qpack.md
Expand Up @@ -652,15 +652,17 @@ This string format includes optional Huffman encoding.

HPACK defines string literals to begin on a byte boundary. They begin with a
single bit flag, denoted as 'H' in this document (indicating whether the string
is Huffman-coded), followed by the Length encoded as a 7-bit prefix integer,
and finally Length bytes of data. When Huffman encoding is enabled, the Huffman
table from Appendix B of [RFC7541] is used without modification.
is Huffman-coded), followed by the Length encoded as a 7-bit prefix integer, and
finally Length bytes of data. When Huffman encoding is enabled, the Huffman
table from Appendix B of [RFC7541] is used without modification and Length
indicates the size of the string after encoding.

This document expands the definition of string literals by permitting them to
begin other than on a byte boundary. An "N-bit prefix string literal" begins
with the same Huffman flag, followed by the length encoded as an (N-1)-bit
prefix integer. The prefix size, N, can have a value between 2 and 8 inclusive.
The remainder of the string literal is unmodified.
mid-byte, with the first (8-N) bits allocated to a previous field. The string
uses one bit for the Huffman flag, followed by the Length encoded as an
(N-1)-bit prefix integer. The prefix size, N, can have a value between 2 and 8
inclusive. The remainder of the string literal is unmodified.

A string literal without a prefix length noted is an 8-bit prefix string literal
and follows the definitions in [RFC7541] without modification.
Expand Down