Re: [quicwg/base-drafts] Core terminology in QPACK (#3520)

Bence Béky <notifications@github.com> Thu, 26 March 2020 12:28 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B53CA3A0CEC for <quic-issues@ietfa.amsl.com>; Thu, 26 Mar 2020 05:28:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.1
X-Spam-Level:
X-Spam-Status: No, score=-3.1 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, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hpd8ne8Oihom for <quic-issues@ietfa.amsl.com>; Thu, 26 Mar 2020 05:28:22 -0700 (PDT)
Received: from out-3.smtp.github.com (out-3.smtp.github.com [192.30.252.194]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DAF693A085B for <quic-issues@ietf.org>; Thu, 26 Mar 2020 05:28:21 -0700 (PDT)
Date: Thu, 26 Mar 2020 05:28:20 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1585225700; bh=vyJr2nFe2ZaGq2GuStBFO56YLUX1lHOv4MouhwUDe6E=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=v74luvAzOFJ9h+6pvtxj8bMzwYhhHNHkICzCKrafKUeu2PumGWCGcDL00fPzS5Vod VOWJfvaq37SHS45A7L6XZ3Bu+Xp9F1c560IZ28oWg9yWHcnB+CI2BFJWconKH3rBOm chWLAzHw3KNqH7FsZ7XbjztuPAGxXzv51YAkBizI=
From: Bence Béky <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK3MZ7IVFTDGEQC5NSV4RCAOJEVBNHHCFHBAYE@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/3520/review/381942851@github.com>
In-Reply-To: <quicwg/base-drafts/pull/3520@github.com>
References: <quicwg/base-drafts/pull/3520@github.com>
Subject: Re: [quicwg/base-drafts] Core terminology in QPACK (#3520)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5e7c9fe4d87ca_567c3f83048cd9642358d0"; 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
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/Cc-MPW8r3lWRihfzKuq0yHL7Ha4>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Mar 2020 12:28:24 -0000

@bencebeky requested changes on this pull request.

LGTM modulo nits.

>  
 Encoder:
 
-: An implementation which transforms a header list into a header block.
+: An implementation which transforms a field section into a series of

I don't think "series of representations" is appropriate here.  In particular, is the header block prefix a representation?  It does not represent any fields or field lines, and the sentence "An encoded field section consists of a prefix and a possibly empty sequence of representations defined in this section" also implies that the prefix is not a representation.

How about this instead:
"Encoder: An implementation that encodes field sections.
Decoder: An implementation that decodes valid QPACK-encoded field sections."?

>  
 Encoder:
 
-: An implementation which transforms a header list into a header block.
+: An implementation which transforms a field section into a series of

"a field section" should probably be plural, because encoders and decoders typically transform multiple field sections.

>  
-QPACK preserves the ordering of header fields within each header list.  An
-encoder MUST emit header field representations in the order they appear in the
-input header list.
+QPACK preserves the ordering of field lines within each field section.  An
+encoder MUST emit field representations in the order they appear in the input
+field list.

Maybe "field section" instead of "field list", because "field list" is not defined in SEMANTICS.

> @@ -273,20 +285,20 @@ permitted by the value of SETTINGS_QPACK_BLOCKED_STREAMS, compression efficiency
 can often be improved by referencing dynamic table entries that are still in
 transit, but if there is loss or reordering the stream can become blocked at the
 decoder.  An encoder can avoid the risk of blocking by only referencing dynamic
-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.
+table entries which have been acknowledged, but this could mean using literals.
+Since literals make the encoding of the field section larger, this can result in

"Encoding of the field section" makes one think of the process rather than the binary result.  "Encoded field section" might be more appropriate here.

>  
-While blocked, header block data SHOULD remain in the blocked stream's flow
+While blocked, field section data SHOULD remain in the blocked stream's flow

Consider writing "encoded field section" instead of "field section".  Header block and header list were distinct things, and they got renamed to "encoded field section" and "field section" respectively.  Therefore "encoded field section" is not a kind of "field section", but a different concept.

> @@ -1130,8 +1141,8 @@ The following error codes are defined for HTTP/3 to indicate failures of
 QPACK which prevent the connection from continuing:
 
 QPACK_DECOMPRESSION_FAILED (0x200):
-: The decoder failed to interpret a header block and is not able to continue
-  decoding that header block.
+: The decoder failed to interpret a representation and is not able to continue

Consider writing "an encoded field section" instead of "a representation" to include errors interpreting data in prefix.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/pull/3520#pullrequestreview-381942851