diff --git a/draft-ietf-quic-qpack.md b/draft-ietf-quic-qpack.md index 899eebfaab..69aa6b35c3 100644 --- a/draft-ietf-quic-qpack.md +++ b/draft-ietf-quic-qpack.md @@ -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.