Skip to content

Commit

Permalink
Table size change
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeBishop committed Feb 28, 2018
1 parent d4065fd commit 7f495bb
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions draft-ietf-quic-qcram.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ represented as an 8-bit prefix string literal.

### Duplicate {#indexed-duplicate}

Duplication of an existing entry in the dynamic table starts with the '00'
two-bit pattern. The index of the existing entry is represented as an integer
with a 6-bit prefix. Table indices are always non-zero; a table index of zero
Duplication of an existing entry in the dynamic table starts with the '000'
three-bit pattern. The index of the existing entry is represented as an integer
with a 5-bit prefix. Table indices are always non-zero; a table index of zero
MUST be treated as a decoding error.

~~~~~~~~~~ drawing
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 0 | 0 | Index (6+) |
| 0 | 0 | 0 | Index (5+) |
+---+---------------------------+

This comment has been minimized.

Copy link
@martinthomson

martinthomson Feb 28, 2018

Member

+---+

~~~~~~~~~~
{:#fig-index-with-duplication title="Duplicate"}
Expand All @@ -243,6 +243,31 @@ entries which are frequently referenced, both to avoid the need to resend the
header and to avoid the entry in the table blocking the ability to insert new
headers.

### Dynamic Table Size Update

A dynamic table size update signals a change to the size of the dynamic table.

~~~~~~~~~~ drawing
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 0 | 0 | 1 | Max size (5+) |
+---+---------------------------+
~~~~~~~~~~
{:#fig-size-change title="Maximum Dynamic Table Size Change"}

A dynamic table size update starts with the '001' 3-bit pattern, followed by the
new maximum size, represented as an integer with a 5-bit prefix (see Section
5.1 of [RFC7541]).

The new maximum size MUST be lower than or equal to the limit determined by the
protocol using QCRAM. A value that exceeds this limit MUST be treated as a
decoding error. In HTTP/QUIC, this limit is the value of the
SETTINGS_HEADER_TABLE_SIZE parameter (see [QUIC-HTTP]) received from the
decoder.

Reducing the maximum size of the dynamic table can cause entries to
be evicted (see Section 4.3 of [RFC7541]).

## HEADER_ACK Frames {#feedback}

HEADER_ACK frames on the control stream carry information used to ensure
Expand Down

0 comments on commit 7f495bb

Please sign in to comment.