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

Reorder some text around dynamic table size #2134

Merged
merged 4 commits into from Dec 18, 2018
Merged
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
40 changes: 20 additions & 20 deletions draft-ietf-quic-qpack.md
Expand Up @@ -380,26 +380,6 @@ The size of an entry is calculated using the length of its name and value
without any Huffman encoding applied.


### Maximum Table Size

The encoder decides how to update the dynamic table size and as such can control
how much memory is used by the dynamic table. To limit the memory requirements
of the decoder, the dynamic table size is strictly bounded. The decoder
determines the maximum size that the encoder is permitted to set for the dynamic
table. In HTTP/3, this value is determined by the SETTINGS_HEADER_TABLE_SIZE
setting (see {{configuration}}). The encoder MUST not set a dynamic table size
that exceeds this maximum, but it can choose to use a lower dynamic table size
(see {{size-update}}).

The initial maximum size is determined by the corresponding setting when HTTP
requests or responses are first permitted to be sent. For clients using 0-RTT
data in HTTP/3, the table size is the remembered value of the setting, even if
the server later specifies a larger maximum in its SETTINGS frame. For HTTP/3
servers and HTTP/3 clients when 0-RTT is not attempted or is rejected, the
initial maximum table size is the value of the setting in the peer's SETTINGS
frame.


### Eviction

Before a new entry is added to the dynamic table, entries are evicted from the
Expand All @@ -425,6 +405,26 @@ be used to completely clear entries from the dynamic table by setting a maxiumum
size of 0, which can subsequently be restored.


### Maximum Table Size

The encoder decides how to update the dynamic table size and as such can control
how much memory is used by the dynamic table. To limit the memory requirements
of the decoder, the dynamic table size is strictly bounded. The decoder
determines the maximum size that the encoder is permitted to set for the dynamic
table. In HTTP/3, this value is determined by the SETTINGS_HEADER_TABLE_SIZE
setting (see {{configuration}}). The encoder MUST not set a dynamic table size
that exceeds this maximum, but it can choose to use a lower dynamic table size
(see {{size-update}}).

The initial maximum size is determined by the corresponding setting when HTTP
requests or responses are first permitted to be sent. For clients using 0-RTT
data in HTTP/3, the table size is the remembered value of the setting, even if
the server later specifies a larger maximum in its SETTINGS frame. For HTTP/3
servers and HTTP/3 clients when 0-RTT is not attempted or is rejected, the
initial maximum table size is the value of the setting in the peer's SETTINGS
frame.


### Absolute Indexing {#indexing}

Each entry possesses both an absolute index which is fixed for the lifetime of
Expand Down