From 4eecca164f62b3a6060958d18d60947517803ad3 Mon Sep 17 00:00:00 2001 From: Mike Bishop Date: Wed, 8 Aug 2018 16:13:27 -0700 Subject: [PATCH 1/3] Initial table size is the maximum permitted when table is first usable --- draft-ietf-quic-qpack.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/draft-ietf-quic-qpack.md b/draft-ietf-quic-qpack.md index a28de2c175..3b25c2c38f 100644 --- a/draft-ietf-quic-qpack.md +++ b/draft-ietf-quic-qpack.md @@ -127,6 +127,16 @@ The dynamic table consists of a list of header fields maintained in first-in, first-out order. The dynamic table is initially empty. Entries are added by instructions on the encoder stream (see {{encoder-stream}}). +The maximum size of the dynamic table can be modified by the encoder, subject to +a decoder-controlled limit (see {{configuration}} and {{size-update}}). The +initial maximum size is the applicable value of this limit when HTTP requests or +responses are first permitted to be sent. For clients using 0-RTT data in +HTTP/QUIC, this means that the table size is the remembered value of +`SETTINGS_HEADER_TABLE_SIZE`, even if the server later specifies a larger +maximum in its SETTINGS frame. For HTTP/QUIC servers and HTTP/QUIC clients not +using 0-RTT data, this means that the initial maximum table size is the value of +`SETTINGS_HEADER_TABLE_SIZE` in the peer's SETTINGS frame. + Before a new entry is added to the dynamic table, entries are evicted from the end of the dynamic table until the size of the dynamic table is less than or equal to (maximum size - new entry size) or until the table is empty. From 43eb60a1c152b90cd14c5a068ce691a038fa0c7d Mon Sep 17 00:00:00 2001 From: Mike Bishop Date: Wed, 8 Aug 2018 17:33:43 -0700 Subject: [PATCH 2/3] Some Martin tweaks --- draft-ietf-quic-qpack.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/draft-ietf-quic-qpack.md b/draft-ietf-quic-qpack.md index 3b25c2c38f..b2f5e43b66 100644 --- a/draft-ietf-quic-qpack.md +++ b/draft-ietf-quic-qpack.md @@ -129,13 +129,13 @@ instructions on the encoder stream (see {{encoder-stream}}). The maximum size of the dynamic table can be modified by the encoder, subject to a decoder-controlled limit (see {{configuration}} and {{size-update}}). The -initial maximum size is the applicable value of this limit when HTTP requests or -responses are first permitted to be sent. For clients using 0-RTT data in -HTTP/QUIC, this means that the table size is the remembered value of -`SETTINGS_HEADER_TABLE_SIZE`, even if the server later specifies a larger -maximum in its SETTINGS frame. For HTTP/QUIC servers and HTTP/QUIC clients not -using 0-RTT data, this means that the initial maximum table size is the value of -`SETTINGS_HEADER_TABLE_SIZE` in the peer's SETTINGS frame. +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/QUIC, this means that 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/QUIC servers and HTTP/QUIC clients when 0-RTT is not attempted +or is rejected, this means that the initial maximum table size is the value of +the setting in the peer's SETTINGS frame. Before a new entry is added to the dynamic table, entries are evicted from the end of the dynamic table until the size of the dynamic table is less than or From 7a13745d2c7d96c121da8bbf7a9a69fb5ffea2c0 Mon Sep 17 00:00:00 2001 From: Mike Bishop Date: Wed, 22 Aug 2018 07:56:35 -0700 Subject: [PATCH 3/3] this means that you remove words --- draft-ietf-quic-qpack.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/draft-ietf-quic-qpack.md b/draft-ietf-quic-qpack.md index b2f5e43b66..0004fc1621 100644 --- a/draft-ietf-quic-qpack.md +++ b/draft-ietf-quic-qpack.md @@ -131,11 +131,11 @@ The maximum size of the dynamic table can be modified by the encoder, subject to a decoder-controlled limit (see {{configuration}} and {{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/QUIC, this means that 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/QUIC servers and HTTP/QUIC clients when 0-RTT is not attempted -or is rejected, this means that the initial maximum table size is the value of -the setting in the peer's SETTINGS frame. +data in HTTP/QUIC, 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/QUIC servers and HTTP/QUIC 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. Before a new entry is added to the dynamic table, entries are evicted from the end of the dynamic table until the size of the dynamic table is less than or