Re: [quicwg/base-drafts] QPACK [editorial] Misc minor editorial changes. (#2942)

Bence Béky <> Mon, 19 August 2019 14:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 93A80120232 for <>; Mon, 19 Aug 2019 07:43:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -7.999
X-Spam-Status: No, score=-7.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FROM_EXCESS_BASE64=0.001, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id z2jOoVp2KdZc for <>; Mon, 19 Aug 2019 07:43:35 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C6C0B1201C6 for <>; Mon, 19 Aug 2019 07:43:34 -0700 (PDT)
Date: Mon, 19 Aug 2019 07:43:34 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1566225814; bh=U6afsxvpY3y21SD4tY27zzJSWFv/CYPXSL9i6KUNm7A=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=sICrxzmUdRdtqI/VcOHXAlFYlFC9XMUo4lqAyWM2Luadt9ykBxxrc5ENQdGBrrlov dzkO2lMeev6GbaAPRVfLieKM8DmgapEg+VvEIQJKB5NO6920pZeLTmt9BOX1qwlvbs CzY+QtNyJoH86sb+QkSh4q4kKqwYoJy4drg4Fbuk=
From: =?UTF-8?B?QmVuY2UgQsOpa3k=?= <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2942/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] QPACK [editorial] Misc minor editorial changes. (#2942)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d5ab59613755_1b53fbcf54cd960700a3"; charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: bencebeky
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 19 Aug 2019 14:43:36 -0000

bencebeky commented on this pull request.

Thank you for the review.

>  table entries which have been acknowledged, but this could mean using
 literals. Since literals make the header block larger, this can result in the
 encoder becoming blocked on congestion or flow control limits.
 ### Known Received Count
-In order to identify which dynamic table entries can be safely used without a
-stream becoming blocked, the encoder tracks the number of entries received by
-the decoder.  The Known Received Count tracks the total number of acknowledged
+The Known Received Count is the total number of dynamic table insertions and
+duplications acknowledged by the decoder.  The encoder tracks the Known Received
+Count in order to identify which dynamic table entries can be references without

Thank you.

> @@ -445,19 +443,23 @@ encoder sends a Set Dynamic Table Capacity instruction
 ({{set-dynamic-capacity}}) with a non-zero capacity to begin using the dynamic
-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 (table capacity - size of new entry). The encoder MUST NOT evict a
-blocking dynamic table entry (see {{blocked-insertion}}).  The entry is then
-added to the table.  It is an error if the encoder attempts to add an entry that
-is larger than the dynamic table capacity; the decoder MUST treat this as a
+When a new entry is added to the dynamic table, the minimum number of entries
+are evicted from the end of the dynamic table so that the final table size
+including the new entry does not exceed the table capacity.  This can be
+achieved by adding the new entry and then removing entries from the end until
+the table size is less than or equal to the table capacity.  Another option is
+to first evict entries until the size of the dynamic table is less than or equal
+to (table capacity - size of new entry), then add the new entry.  Note that a
+new entry can reference an entry in the dynamic table that will be evicted when
+adding this new entry.  Therefore implementations utilizing the latter option

Thank you.

> @@ -830,10 +831,8 @@ modifying it.
 Each header block is prefixed with two integers.  The Required Insert Count is
 encoded as an integer with an 8-bit prefix after the encoding described in
-{{ric}}).  The Base is encoded as sign-and-modulus integer, using a single sign
-bit and a value with a 7-bit prefix (see {{base}}).
-These two values are followed by representations for compressed headers.
+{{ric}}).  The Base is encoded as a sign bit, and a Delta Base value with a

Thank you.

> @@ -477,28 +479,27 @@ it can choose to use a lower dynamic table capacity (see
 For clients using 0-RTT data in HTTP/3, the server's maximum table capacity is
 the remembered value of the setting, or zero if the value was not previously
-sent.  When the client's 0-RTT value of the SETTING is 0, the server MAY set it

Just for the record, I do not feel strongly, and I'm happy to incorporate whatever @afrind suggests.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: