Re: [quicwg/base-drafts] Split error code space (#722)

janaiyengar <notifications@github.com> Wed, 06 September 2017 00:47 UTC

Return-Path: <bounces+848413-a050-quic-issues=ietf.org@sgmail.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 A0B9F13214D for <quic-issues@ietfa.amsl.com>; Tue, 5 Sep 2017 17:47:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.02
X-Spam-Level:
X-Spam-Status: No, score=-2.02 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 Lj4bJCac4FA3 for <quic-issues@ietfa.amsl.com>; Tue, 5 Sep 2017 17:47:09 -0700 (PDT)
Received: from o1.sgmail.github.com (o1.sgmail.github.com [192.254.114.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B483C132E43 for <quic-issues@ietf.org>; Tue, 5 Sep 2017 17:47:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=github.com; h=from:reply-to:to:cc:in-reply-to:references:subject:mime-version:content-type:content-transfer-encoding:list-id:list-archive:list-post:list-unsubscribe; s=s20150108; bh=ivI3P1nCEsqf0m009ZUkjmFJtgo=; b=OGi2l0YFEMvSceg8 dN6VM8zOt8r6pJPVFMXlHqbcQzxzfhjjmarXWlMncwF8ccz/seHKSbiGfrZZ4Cki 93wL3w7qCm0dUk18oaMw73eJ7fWdAbfTzn4KzgsaKwaj7p21cPeeyPS5TfxiYkwb iRDa1yGL/O4I0QYVFgxnD/CRKnQ=
Received: by filter0419p1mdw1.sendgrid.net with SMTP id filter0419p1mdw1-30791-59AF4569-3A 2017-09-06 00:46:33.253231009 +0000 UTC
Received: from github-smtp2a-ext-cp1-prd.iad.github.net (github-smtp2a-ext-cp1-prd.iad.github.net [192.30.253.16]) by ismtpd0029p1mdw1.sendgrid.net (SG) with ESMTP id W2_d0Z8vTeiHAgH82uelTA for <quic-issues@ietf.org>; Wed, 06 Sep 2017 00:46:33.299 +0000 (UTC)
Date: Wed, 06 Sep 2017 00:46:33 +0000
From: janaiyengar <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab838c949fa042d0078ffc7ebb3d0c51d7eee73f9a92cf0000000115c7076892a169ce0edfabce@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/722/review/60777325@github.com>
In-Reply-To: <quicwg/base-drafts/pull/722@github.com>
References: <quicwg/base-drafts/pull/722@github.com>
Subject: Re: [quicwg/base-drafts] Split error code space (#722)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_59af4568df0ff_1f3e3fb269617c3078114"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: janaiyengar
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
X-SG-EID: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak02L4aTPVW37mr0CAS4BvyeJyG9flXLMvsZ3V sTMZ2+uhmaihhdydrale04rZibgNT0YWJBQxrFxdE0tp9QUulSH8FXSpR1x1bbveZmpvcgYubXIoBs lvRh1YyLmZKrcp6CChovrAzFVr2WFgpq3oJTz+OKcny5jZusuBgcFkSesHAXsdCfXHcRFtJFIJNIwh Q=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/InzIq4rP79vQ64nlLhqzkaTSWek>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.22
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: Wed, 06 Sep 2017 00:47:12 -0000

janaiyengar commented on this pull request.

A few comments. This needs to be rebased and the resolution on the list will cause this to change further, I expect.

> @@ -844,7 +844,8 @@ explained in more detail as they are referenced later in the document.
 |:------------|:------------------|:----------------------------|
 | 0x00        | PADDING           | {{frame-padding}}           |
 | 0x01        | RST_STREAM        | {{frame-rst-stream}}        |
-| 0x02        | CONNECTION_CLOSE  | {{frame-connection-close}}  |
+| 0x02        | TRANSPORT_CLOSE   | {{frame-transport-close}}   |

I prefer connection close -- a connection is  a transport notion anyways. CONNECTION_CLOSE and APPLICATION_CLOSE ought to be clear enough, IMO.

> @@ -1609,7 +1635,7 @@ The RST_STREAM frame is as follows:
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                        Stream ID (32)                         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-|                        Error Code (32)                        |
+|                  App Protocol Error Code (32)                 |

nit: spell out "Application"

> @@ -1623,43 +1649,51 @@ Stream ID:
 
 : The 32-bit Stream ID of the stream being terminated.
 
-Error code:
+App Protocol Error Code:

ditto

>  
 Error Code:
 
 : A 32-bit error code which indicates the reason for closing this connection.
+  TRANSPORT_CLOSE uses codes from the space defined in {{error-codes}};
+  APPLICATION_CLOSE uses codes from the application protocol error code space
+  ({{app-error-codes}}).

I would at least parenthesize it then.

> @@ -2608,11 +2654,10 @@ discarded upon receipt.  This avoids potential ambiguity about which STREAM
 frames count toward flow control.
 
 Upon receipt of a STOP_SENDING frame on a stream in the "open" or "half-closed
-(remote)" states, an endpoint MUST send a RST_STREAM with an error code of
-QUIC_RECEIVED_RST.  If the STOP_SENDING frame is received on a stream that is
-already in the "half-closed (local)" or "closed" states, a RST_STREAM frame MAY
-still be sent in order to cancel retransmission of previously-sent STREAM
-frames.
+(remote)" states, an endpoint MUST send a RST_STREAM frame.  If the STOP_SENDING

I understand, but there's an issue here. If the transport receives a STOP_SENDING and MUST send a RST_STREAM, there's nothing in here that requires the application to do something in between the receiving of the STOP_SENDING and sending of the RST_STREAM. If it's not a transport requirement to send a RST_STREAM, then the "MUST" doesn't belong here. So I would remove any mention of RST_STREAM being sent here; that's an application's prerogative. The transport does not need to ensure this.

That said, I think I'm with you on STOP_SENDING. It's an HTTP-ism, so it probably belongs in the application. I'll chime in on the list.

-- 
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/722#pullrequestreview-60777325