Re: [quicwg/base-drafts] One close frames (#1900)
Mike Bishop <notifications@github.com> Mon, 29 October 2018 18:39 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 1CAF8131063 for <quic-issues@ietfa.amsl.com>; Mon, 29 Oct 2018 11:39:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.47
X-Spam-Level:
X-Spam-Status: No, score=-8.47 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, 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_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 LuuCqF7TFJwB for <quic-issues@ietfa.amsl.com>; Mon, 29 Oct 2018 11:38:58 -0700 (PDT)
Received: from out-6.smtp.github.com (out-6.smtp.github.com [192.30.252.197]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5088F13106D for <quic-issues@ietf.org>; Mon, 29 Oct 2018 11:38:57 -0700 (PDT)
Date: Mon, 29 Oct 2018 11:38:56 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1540838336; bh=uHolP6MPp8o8I8Kbv764U+krv7d9bodCr/iVbeTxf0c=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=uyvhZYy694FFIcCSH+0dKRImZ+NYYXDIzlkYBOzIRuBTUygBL1xlS/UXx7eBduJa7 /DWQsPM8cq2WP8niOzTHb0/VSJDqYc4rJS/gsGjQe3F1OYSkATHq1zXte1S2/izB0m wu6+5kIdwQfunvQMG+y9H59g/5d42hV925hjd1tQ=
From: Mike Bishop <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4abce55da01fa4cf35813d31774987552ca3ec8ee9c92cf0000000117ef15c092a169ce164012de@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/1900/review/169453025@github.com>
In-Reply-To: <quicwg/base-drafts/pull/1900@github.com>
References: <quicwg/base-drafts/pull/1900@github.com>
Subject: Re: [quicwg/base-drafts] One close frames (#1900)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5bd753c083449_70303f9b4a8d45bc142889"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: MikeBishop
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/BJEjfE_GDgFXYNo_iWVk7zu4nnU>
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: Mon, 29 Oct 2018 18:39:01 -0000
MikeBishop approved this pull request.
Other than waving the flag for embedded flags, this looks fine. One missed reference to two closing frame types.
> @@ -2228,28 +2230,28 @@ Note:
control, which are not expected to be relevant for a closed connection.
Retransmitting the final packet requires less state.
-After receiving a closing frame, endpoints enter the draining state. An
-endpoint that receives a closing frame MAY send a single packet containing a
-closing frame before entering the draining state, using a CONNECTION_CLOSE frame
-and a NO_ERROR code if appropriate. An endpoint MUST NOT send further packets,
-which could result in a constant exchange of closing frames until the closing
-period on either peer ended.
+After receiving a CONNECTION_CLOSE frame, endpoints enter the draining state.
+An endpoint that receives a CONNECTION_CLOSE frame MAY send a single packet
+containing a CONNECTION_CLOSE frame before entering the draining state, using a
+CONNECTION_CLOSE frame and a NO_ERROR code if appropriate. An endpoint MUST NOT
+send further packets, which could result in a constant exchange of
+CONNECTION_CLOSE frames until the closing period on either peer ended.
Each endpoint MUST NOT send further packets once they've received a CONNECTION_CLOSE, except to send a single CONNECTION_CLOSE of their own if desired. Yes, that means that if the responding CONNECTION_CLOSE is dropped, it won't be retransmitted, but that's okay -- the other side is already closing, and won't be transmitting further packets to provoke a retransmission anyway.
>
-A CONNECTION_CLOSE or APPLICATION_CLOSE frame could be sent in a packet that is
-lost. An endpoint SHOULD be prepared to retransmit a packet containing either
-frame type if it receives more packets on a terminated connection. Limiting the
-number of retransmissions and the time over which this final packet is sent
-limits the effort expended on terminated connections.
+A CONNECTION_CLOSE frame could be sent in a packet that is lost. An endpoint
+SHOULD be prepared to retransmit a packet containing either frame type if it
"...containing a CONNECTION_CLOSE frame if it...."
> @@ -4067,9 +4065,13 @@ Final Offset:
## CONNECTION_CLOSE frame {#frame-connection-close}
-An endpoint sends a CONNECTION_CLOSE frame (type=0x02) to notify its peer that
-the connection is being closed. CONNECTION_CLOSE is used to signal errors at
-the QUIC layer, or the absence of errors (with the NO_ERROR code).
+An endpoint sends a CONNECTION_CLOSE frame (type=0x02 or 0x03) to notify its
+peer that the connection is being closed. The CONNECTION_CLOSE with a frame
+type of 0x02 is used to signal errors at the QUIC layer, or the absence of
+errors (with the NO_ERROR code). The CONNECTION_CLOSE frame with a type of 0x03
+is used to signal an error with the protocol that uses QUIC. Protocols that use
+QUIC only use the CONNECTION_CLOSE frame of type 0x03; the frame with type 0x02
+is only used internally by QUIC.
More inclined to indicate this as an embedded flag, indicating whether the error is at the transport or application layer. Also makes the optional field easier.
> @@ -5021,9 +4983,9 @@ See {{iana-error-codes}} for details of registering new error codes.
Application protocol error codes are 16-bit unsigned integers, but the
management of application error codes are left to application protocols.
-Application protocol error codes are used for the RST_STREAM
-({{frame-rst-stream}}) and APPLICATION_CLOSE ({{frame-application-close}})
-frames.
+Application protocol error codes are used for the RST_STREAM frame
+({{frame-rst-stream}}) and the CONNECTION_CLOSE frame with a type of 0x03
+({{frame-connection-close}}) frames.
"the NAME frame with a type of 0xXX" is a very clunky reference convention. Flags.
--
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/1900#pullrequestreview-169453025
- [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Kazuho Oku
- Re: [quicwg/base-drafts] One close frames (#1900) MikkelFJ
- Re: [quicwg/base-drafts] One close frames (#1900) ianswett
- Re: [quicwg/base-drafts] One close frames (#1900) ianswett
- Re: [quicwg/base-drafts] One close frames (#1900) MikkelFJ
- Re: [quicwg/base-drafts] One close frames (#1900) ianswett
- Re: [quicwg/base-drafts] One close frames (#1900) ianswett
- Re: [quicwg/base-drafts] One close frames (#1900) Marten Seemann
- Re: [quicwg/base-drafts] One close frames (#1900) Lucas Pardue
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Lucas Pardue
- Re: [quicwg/base-drafts] One close frames (#1900) Nick Banks
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Mike Bishop
- Re: [quicwg/base-drafts] One close frames (#1900) Mike Bishop
- Re: [quicwg/base-drafts] One close frames (#1900) MikkelFJ
- Re: [quicwg/base-drafts] One close frames (#1900) Mike Bishop
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) janaiyengar
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) ianswett
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson
- Re: [quicwg/base-drafts] One close frames (#1900) Martin Thomson