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 F2018132E46
 for <quic-issues@ietfa.amsl.com>; Tue,  5 Sep 2017 17:19:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.019
X-Spam-Level: 
X-Spam-Status: No, score=-2.019 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_DNSWL_NONE=-0.0001,
 RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001,
 URIBL_BLOCKED=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 xLoWjE9aQjkP for <quic-issues@ietfa.amsl.com>;
 Tue,  5 Sep 2017 17:19:16 -0700 (PDT)
Received: from o11.sgmail.github.com (o11.sgmail.github.com [167.89.101.202])
 (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 4A4741321CB
 for <quic-issues@ietf.org>; Tue,  5 Sep 2017 17:19:16 -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=9xBqdz8ZXUmpsThJ6yF5a7xt6Z0=; b=A0NhvwqKEsQ57SUj
 XNofpFqTQfPQ+qmg842oPD1yp3imq0a4zNF0686MvSCrQHQ7EvFnRPSdhxa1j4eM
 pUfyuggvTsYDZbT2b5/2vNb0TykSAmXdllS2RBabYB3Qkhd53+M5s6eX94ahO9Fd
 D5oJcoH1HuQnj5gwsx3Y8kE6mXk=
Received: by filter0496p1las1.sendgrid.net with SMTP id
 filter0496p1las1-28954-59AF3F03-8
 2017-09-06 00:19:15.242389853 +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 ismtpd0006p1iad1.sendgrid.net (SG) with ESMTP id 4vhA9A0kQA-mDBjiXi7OlQ
 for <quic-issues@ietf.org>; Wed, 06 Sep 2017 00:19:15.077 +0000 (UTC)
Date: Wed, 06 Sep 2017 00:19:15 +0000 (UTC)
From: janaiyengar <notifications@github.com>
Reply-To: quicwg/base-drafts
 <reply+0166e4ab04d2110cab09074f74494b1b05fcd9df2296895d92cf0000000115c7010292a169ce0edf94fd@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/pull/721/review/60774331@github.com>
In-Reply-To: <quicwg/base-drafts/pull/721@github.com>
References: <quicwg/base-drafts/pull/721@github.com>
Subject: Re: [quicwg/base-drafts] Refactor the section on connection
 termination (#721)
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_59af3f02ad76a_4c353f7fa0de1c3c46142";
 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: l64QuQ2uJCcEyUykJbxN122A6QRmEpucztpreh3Pak3pH/Yb6l7GqT+GmJEHhmxahbnxI1LDaFQbq0
 Qw/VWb0UUTij7HnNIFdLMCVUP9B1i7Yhfyl2qCYxgXwz60kdG2XKkEBcyTuMIAvo7uKLc5mD9CkpCG
 kEpB2WtFPDDjT3sjGQk3ftoGG7oi8b0b4GmUQqABD6kHNlTuAUh2Vh+uzHkhAo9eIBR4myFNsQ8olM
 Q=
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/5V5Sd5VbVZ25ubsE6lYojZdkoMw>
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:19:18 -0000

----==_mimepart_59af3f02ad76a_4c353f7fa0de1c3c46142
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

janaiyengar approved this pull request.

A few nits, mostly editorial. LGTM'ing -- please feel free to merge once you've addressed these.

> +
+* application close ({{application-close}})
+* idle timeout ({{idle-timeout}})
+* immediate close ({{immediate-close}})
+* stateless reset ({{stateless-reset}})
+
+
+### Draining Period {#draining}
+
+After a connection is closed for any reason, an endpoint might receive packets
+from its peer.  These packets might have been sent prior to receiving any close
+signal, or they might be retransmissions of packets for which acknowledgments
+were lost.
+
+The draining period persists for three times the maximum of minimum RTO
+(kMinRTOTimeout) or the round trip time (smoothed_rtt), see {{QUIC-RECOVERY}}

I'm sorry if I mis-spoke, I would simply say "three times the RTO, see {{QUIC-RECOVERY}}." The RTO value is basically a max(minRTO, f(smoothed_rtt, rtt_variance)), and 3 times the RTO value allows for two consecutive timeout periods.

> +* idle timeout ({{idle-timeout}})
+* immediate close ({{immediate-close}})
+* stateless reset ({{stateless-reset}})
+
+
+### Draining Period {#draining}
+
+After a connection is closed for any reason, an endpoint might receive packets
+from its peer.  These packets might have been sent prior to receiving any close
+signal, or they might be retransmissions of packets for which acknowledgments
+were lost.
+
+The draining period persists for three times the maximum of minimum RTO
+(kMinRTOTimeout) or the round trip time (smoothed_rtt), see {{QUIC-RECOVERY}}
+for descriptions of these values.  During this period, new packets can be
+attributed to the correct connection and acknowledged, but the connection is no

nit: remove phrase "attributed to the correct connection and". Seems unnecessary.

> +* immediate close ({{immediate-close}})
+* stateless reset ({{stateless-reset}})
+
+
+### Draining Period {#draining}
+
+After a connection is closed for any reason, an endpoint might receive packets
+from its peer.  These packets might have been sent prior to receiving any close
+signal, or they might be retransmissions of packets for which acknowledgments
+were lost.
+
+The draining period persists for three times the maximum of minimum RTO
+(kMinRTOTimeout) or the round trip time (smoothed_rtt), see {{QUIC-RECOVERY}}
+for descriptions of these values.  During this period, new packets can be
+attributed to the correct connection and acknowledged, but the connection is no
+longer considered active and usable.

nit: instead of "the connection is no longer considered active and usable", how about "no new data or retransmittable packets may be sent on the connection"? The allowable frames are elucidated below, so I'd be happy with just "no new data may be sent on the connection."

> +immediately.  A CONNECTION_CLOSE causes all open streams to immediately become
+closed; open streams can be assumed to be implicitly reset.  After sending or
+receiving a CONNECTION_CLOSE frame, endpoints immediately enter a draining
+period.
+
+During the draining period, an endpoint that sends a CONNECTION_CLOSE frame
+SHOULD respond to any subsequent packet that it receives with another packet
+containing a CONNECTION_CLOSE frame.  To reduce the state that an endpoint
+maintains in this case, it MAY send the exact same packet.  However, endpoints
+SHOULD limit the number of CONNECTION_CLOSE messages they generate.  For
+instance, an endpoint could progressively increase the number of packets that it
+receives before sending additional CONNECTION_CLOSE frames.
+
+Note:
+
+: Allowing retransmision of a packet contradicts other advice in this document

typo: retransmision --> retransmission

-- 
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/721#pullrequestreview-60774331
----==_mimepart_59af3f02ad76a_4c353f7fa0de1c3c46142
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p><b>@janaiyengar</b> approved this pull request.</p>

<p>A few nits, mostly editorial. LGTM'ing -- please feel free to merge once you've addressed these.</p><hr>

<p>In <a href="https://github.com/quicwg/base-drafts/pull/721#discussion_r137144893">draft-ietf-quic-transport.md</a>:</p>
<pre style='color:#555'>&gt; +
+* application close ({{application-close}})
+* idle timeout ({{idle-timeout}})
+* immediate close ({{immediate-close}})
+* stateless reset ({{stateless-reset}})
+
+
+### Draining Period {#draining}
+
+After a connection is closed for any reason, an endpoint might receive packets
+from its peer.  These packets might have been sent prior to receiving any close
+signal, or they might be retransmissions of packets for which acknowledgments
+were lost.
+
+The draining period persists for three times the maximum of minimum RTO
+(kMinRTOTimeout) or the round trip time (smoothed_rtt), see {{QUIC-RECOVERY}}
</pre>
<p>I'm sorry if I mis-spoke, I would simply say "three times the RTO, see {{QUIC-RECOVERY}}." The RTO value is basically a max(minRTO, f(smoothed_rtt, rtt_variance)), and 3 times the RTO value allows for two consecutive timeout periods.</p>

<hr>

<p>In <a href="https://github.com/quicwg/base-drafts/pull/721#discussion_r137145024">draft-ietf-quic-transport.md</a>:</p>
<pre style='color:#555'>&gt; +* idle timeout ({{idle-timeout}})
+* immediate close ({{immediate-close}})
+* stateless reset ({{stateless-reset}})
+
+
+### Draining Period {#draining}
+
+After a connection is closed for any reason, an endpoint might receive packets
+from its peer.  These packets might have been sent prior to receiving any close
+signal, or they might be retransmissions of packets for which acknowledgments
+were lost.
+
+The draining period persists for three times the maximum of minimum RTO
+(kMinRTOTimeout) or the round trip time (smoothed_rtt), see {{QUIC-RECOVERY}}
+for descriptions of these values.  During this period, new packets can be
+attributed to the correct connection and acknowledged, but the connection is no
</pre>
<p>nit: remove phrase "attributed to the correct connection and". Seems unnecessary.</p>

<hr>

<p>In <a href="https://github.com/quicwg/base-drafts/pull/721#discussion_r137145368">draft-ietf-quic-transport.md</a>:</p>
<pre style='color:#555'>&gt; +* immediate close ({{immediate-close}})
+* stateless reset ({{stateless-reset}})
+
+
+### Draining Period {#draining}
+
+After a connection is closed for any reason, an endpoint might receive packets
+from its peer.  These packets might have been sent prior to receiving any close
+signal, or they might be retransmissions of packets for which acknowledgments
+were lost.
+
+The draining period persists for three times the maximum of minimum RTO
+(kMinRTOTimeout) or the round trip time (smoothed_rtt), see {{QUIC-RECOVERY}}
+for descriptions of these values.  During this period, new packets can be
+attributed to the correct connection and acknowledged, but the connection is no
+longer considered active and usable.
</pre>
<p>nit: instead of "the connection is no longer considered active and usable", how about "no new data or retransmittable packets may be sent on the connection"? The allowable frames are elucidated below, so I'd be happy with just "no new data may be sent on the connection."</p>

<hr>

<p>In <a href="https://github.com/quicwg/base-drafts/pull/721#discussion_r137146093">draft-ietf-quic-transport.md</a>:</p>
<pre style='color:#555'>&gt; +immediately.  A CONNECTION_CLOSE causes all open streams to immediately become
+closed; open streams can be assumed to be implicitly reset.  After sending or
+receiving a CONNECTION_CLOSE frame, endpoints immediately enter a draining
+period.
+
+During the draining period, an endpoint that sends a CONNECTION_CLOSE frame
+SHOULD respond to any subsequent packet that it receives with another packet
+containing a CONNECTION_CLOSE frame.  To reduce the state that an endpoint
+maintains in this case, it MAY send the exact same packet.  However, endpoints
+SHOULD limit the number of CONNECTION_CLOSE messages they generate.  For
+instance, an endpoint could progressively increase the number of packets that it
+receives before sending additional CONNECTION_CLOSE frames.
+
+Note:
+
+: Allowing retransmision of a packet contradicts other advice in this document
</pre>
<p>typo: retransmision --&gt; retransmission</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">&mdash;<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/quicwg/base-drafts/pull/721#pullrequestreview-60774331">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AWbkq4gbSaDH5ZkFnL2s4CvTDlJjH7Sfks5sfeUCgaJpZM4O0OWB">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AWbkq6Z1nCF3V8Kz4ToTiizX_QVGiHTAks5sfeUCgaJpZM4O0OWB.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/quicwg/base-drafts/pull/721#pullrequestreview-60774331"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/quicwg/base-drafts","title":"quicwg/base-drafts","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/quicwg/base-drafts"}},"updates":{"snippets":[{"icon":"PERSON","message":"@janaiyengar approved #721"}],"action":{"name":"View Pull Request","url":"https://github.com/quicwg/base-drafts/pull/721#pullrequestreview-60774331"}}}</script>
----==_mimepart_59af3f02ad76a_4c353f7fa0de1c3c46142--

