Re: [quicwg/base-drafts] Send complete SETTINGS (#2972)

ianswett <notifications@github.com> Fri, 23 August 2019 15:02 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 E33D2120828 for <quic-issues@ietfa.amsl.com>; Fri, 23 Aug 2019 08:02:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8
X-Spam-Level:
X-Spam-Status: No, score=-8 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, 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: 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 mmMo9VwAr_BA for <quic-issues@ietfa.amsl.com>; Fri, 23 Aug 2019 08:02:11 -0700 (PDT)
Received: from out-22.smtp.github.com (out-22.smtp.github.com [192.30.252.205]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA3B81208A0 for <quic-issues@ietf.org>; Fri, 23 Aug 2019 08:02:10 -0700 (PDT)
Date: Fri, 23 Aug 2019 08:02:09 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1566572529; bh=8bjhMv5XcgtZu3uKWPIlvHV8zzM4RRPOU/CllgpPG8s=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=d70EvLWJJUxn/2alDMtoJnWvOqSrvZtXMmqQTFORxU+7Gy3j2m4Nspq1tPY07GVfa uQ8lwyoVBY8uoLPYmijLFGpl36NUa/byUzROzm2K5OVr9DUS2j10ybrlvTf1T2RT0X ZxLLlh3BPif5dnKMvC2Q5XFqk3o5/Ah5B2i1/7s4=
From: ianswett <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+AFTOJK6QI4SOLCFHZVHEOQ53NUZHDEVBNHHBZNSWTM@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/2972/review/279049201@github.com>
In-Reply-To: <quicwg/base-drafts/pull/2972@github.com>
References: <quicwg/base-drafts/pull/2972@github.com>
Subject: Re: [quicwg/base-drafts] Send complete SETTINGS (#2972)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5d5ffff1c54bb_24193fc3160cd960227138"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: ianswett
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/zLMpMHJysEJZQS_jdQML5mwn37w>
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: Fri, 23 Aug 2019 15:02:13 -0000

ianswett commented on this pull request.

I think in our editor's meeting we agreed not to close Nick's PR with this PR?

Also, I'm not sure this really solves #2945 fully?

> @@ -1389,29 +1389,45 @@ for more details.
 #### Initialization
 
 An HTTP implementation MUST NOT send frames or requests which would be invalid
-based on its current understanding of the peer's settings.  All settings begin
-at an initial value, and are updated upon receipt of a SETTINGS frame.  For
-servers, the initial value of each client setting is the default value.
+based on its current understanding of the peer's settings.
+
+All settings begin at an initial value.  Each endpoint MAY use these initial
+values to send messages before the peer's SETTINGS frame has arrived.  When

messages?

> @@ -1389,29 +1389,45 @@ for more details.
 #### Initialization
 
 An HTTP implementation MUST NOT send frames or requests which would be invalid
-based on its current understanding of the peer's settings.  All settings begin
-at an initial value, and are updated upon receipt of a SETTINGS frame.  For
-servers, the initial value of each client setting is the default value.
+based on its current understanding of the peer's settings.
+
+All settings begin at an initial value.  Each endpoint MAY use these initial
+values to send messages before the peer's SETTINGS frame has arrived.  When
+the SETTINGS frame arrives, any settings are changed to their new values.
+
+This removes the need to wait for the SETTINGS frame before sending messages.
+Endpoints MUST NOT require any data to be received from the peer prior to
+sending the SETTINGS frame; settings SHOULD be sent as soon as the transport is
+ready to send data.

I think it's worth adding an Implementation Note along the lines of:
"For clients using a 1-RTT QUIC connection, the 1-RTT keys will always become available prior to SETTINGS arriving, even if the server send SETTINGS immediately.  Clients SHOULD NOT wait indefinitely for SETTINGS to arrive before sending requests, but SHOULD process received datagrams in order to increase the likelihood of processing SETTINGS before sending the first request."

-- 
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/2972#pullrequestreview-279049201