Subject: [quicwg/base-drafts] Followup to closing/draining changes (#974)

From: Martin Thomson <[email-masked]>
Date: Thu, 30 Nov 2017 00:45:46 +0000 (UTC)

As Christian points out, we should recommend an error code.  Also, I used the
word "period" in a few places where "state" was more appropriate.  And, I
realized that if a shutdown has been negotiated, an endpoint might as well send
APPLICATION_CLOSE with whatever error is appropriate there rather than to use
CONNECTION_CLOSE, so it's back to closing frame rather than CONNECTION_CLOSE
only for the last gasp packet.

Closes #973.
You can view, comment on, or merge this pull request online at:

  https://github.com/quicwg/base-drafts/pull/974

-- Commit Summary --

  * Followup to closing/draining changes

-- File Changes --

    M draft-ietf-quic-transport.md (11)

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/974.patch
https://github.com/quicwg/base-drafts/pull/974.diff

-- 
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/974

---

From: Christian Huitema <[email-masked]>
Date: Thu, 30 Nov 2017 00:52:07 +0000 (UTC)

huitema approved this pull request.

Just a nit. Otherwise I am fine with that.

>  that receives a closing frame MAY send a single packet containing a
-CONNECTION_CLOSE frame before entering a draining period, but MUST NOT send
-further packets, which could result in a constant exchange of closing frames
-until the closing period on either peer ended.
+closing frame before entering a draining state, using the NO_ERROR code if no

You are replacing the "CONNECTION_CLOSE frame" reference by "closing frame". Actually, I think it is more logical to use the "Connection Close" frame there, since "Application Close" is suppose to only be done at the application's initiative.

-- 
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/974#pullrequestreview-80048753

---

From: Martin Thomson <[email-masked]>
Date: Wed, 29 Nov 2017 16:56:18 -0800

@martinthomson pushed 1 commit.

0958e16  NO_ERROR only applies to CONNECTION_CLOSE

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/974/files/7e138a9fcb0671120a55ff8aac16c3779a7e0c51..0958e1622d2963792c836affd320cda43b9a393c

---

From: Martin Thomson <[email-masked]>
Date: Wed, 29 Nov 2017 16:56:24 -0800

martinthomson commented on this pull request.

oops, yeah, that's obvious now, thanks

-- 
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/974#discussion_r153960519

---

From: janaiyengar <[email-masked]>
Date: Thu, 30 Nov 2017 01:03:15 +0000 (UTC)

janaiyengar commented on this pull request.

> @@ -1699,7 +1699,7 @@ to terminate the connection immediately.  Either closing frame causes all
 streams to immediately become closed; open streams can be assumed to be
 implicitly reset.
 
-After sending a closing frame, endpoints immediately enter a closing period.
+After sending a closing frame, endpoints immediately enter a closing state.

"a" closing state -> "the" closing state, probably.

> @@ -1716,11 +1716,12 @@ 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 a draining period.  An endpoint
+After receiving a closing frame, endpoints enter a draining state.  An endpoint

ditto

-CONNECTION_CLOSE frame before entering a draining period, but MUST NOT send
-further packets, which could result in a constant exchange of closing frames
-until the closing period on either peer ended.
+closing frame before entering a draining state, using a CONNECTION_CLOSE frame
+and a NO_ERROR code if no other code is more appropriate.  An endpoint MUST NOT

nit: since it is possible to send an APPLICATION_CLOSE frame as well, how about simply "using a CONNECTION_CLOSE frame and a NO_ERROR code if appropriate."

-- 
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/974#pullrequestreview-80050334

---

From: Martin Thomson <[email-masked]>
Date: Wed, 29 Nov 2017 18:55:13 -0800

aa432f0  Tweakin'

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/974/files/0958e1622d2963792c836affd320cda43b9a393c..aa432f0f0bab6f5ea6d4fae117a2efb0612f3467

---

From: Christian Huitema <[email-masked]>
Date: Thu, 30 Nov 2017 04:52:00 +0000 (UTC)

huitema commented on this pull request.

I guess the correct text would be "send a CONNECTION CLOSE unless the application has already requested closing the connection." But that gets kind of long, and we can also let the developers decide. In any case, a peer in the closing state has to expect either due to the possibility of simultaneous close, so I guess it does not matter for interop.

-- 
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/974#discussion_r153985388

---

From: MikkelFJ <[email-masked]>
Date: Wed, 29 Nov 2017 22:28:40 -0800

mikkelfj commented on this pull request.

Enters a, not the draining state?

-- 
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/974#pullrequestreview-80087729

---

From: Martin Thomson <[email-masked]>
Date: Fri, 01 Dec 2017 02:33:41 +0000 (UTC)

00f0e8d  the

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/974/files/aa432f0f0bab6f5ea6d4fae117a2efb0612f3467..00f0e8d3f8d82635d5e88f84a328277a6d810e05

---

From: janaiyengar <[email-masked]>
Date: Thu, 30 Nov 2017 21:25:04 -0800

janaiyengar approved this pull 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/974#pullrequestreview-80407989

---

From: janaiyengar <[email-masked]>
Date: Fri, 01 Dec 2017 05:25:23 +0000 (UTC)

Merged #974.

-- 
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/974#event-1367040824