Subject: [quicwg/base-drafts] Two idle timeout corrections (#3983)

From: Martin Thomson <[email-masked]>
Date: Tue, 04 Aug 2020 16:28:57 -0700

Idle timeout doesn&#39;t enter the draining period.

Sending PING will reset both idle timeouts for both endpoints.

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

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

-- Commit Summary --

  * Idle timeout doesn&#39;t drain
  * Sending PING will reset both idle timeouts

-- File Changes --

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

-- Patch Links --

https://github.com/quicwg/base-drafts/pull/3983.patch
https://github.com/quicwg/base-drafts/pull/3983.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/3983

---

From: ianswett <[email-masked]>
Date: Tue, 04 Aug 2020 19:18:23 -0700

@ianswett commented on this pull request.

One point of confusion.

> @@ -2712,8 +2712,11 @@ An implementation of QUIC might provide applications with an option to defer an
 idle timeout.  This facility could be used when the application wishes to avoid
 losing state that has been associated with an open connection, but does not
 expect to exchange application data for some time.  With this option, an
-endpoint could send a PING frame periodically to defer an idle timeout; see
-{{frame-ping}}.
+endpoint could send a PING frame ({{frame-ping}}) periodically, which will cause
+the peer to restart its idle timeout period.  Sending a packet containing a PING
+frame also restarts the idle timeout for the endpoint if this is the first
+ack-eliciting packet sent since receiving a packet or when an acknowledgment is

I'm confused about this last part.  How you receive an acknowledgement without receiving a packet?

-- 
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/3983#pullrequestreview-461294260

---

From: Martin Thomson <[email-masked]>
Date: Tue, 04 Aug 2020 20:17:23 -0700

@martinthomson commented on this pull request.

So it says that the idle time is restarted when an acknowledgment is received.  Of course you need a packet for that, which is why the idle timeout restarts.

-- 
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/3983#discussion_r465447275

---

From: Martin Thomson <[email-masked]>
Date: Tue, 11 Aug 2020 15:21:15 -0700

@martinthomson pushed 1 commit.

5fa530168f5ee4040694bef74b62926d6ea57f43  Split sentence

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3983/files/1d16c413070758325fe6e40d33ab02da0548fc4e..5fa530168f5ee4040694bef74b62926d6ea57f43

---

From: Martin Thomson <[email-masked]>
Date: Tue, 11 Aug 2020 15:24:28 -0700

396f64ebdec2eb652392e557afcca66a726d7809  Take two

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3983/files/5fa530168f5ee4040694bef74b62926d6ea57f43..396f64ebdec2eb652392e557afcca66a726d7809

---

From: ianswett <[email-masked]>
Date: Tue, 11 Aug 2020 15:25:57 -0700

@ianswett 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/3983#pullrequestreview-465470352

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 11 Aug 2020 15:28:20 -0700

@janaiyengar commented on this pull request.

> @@ -2712,8 +2712,12 @@ An implementation of QUIC might provide applications with an option to defer an

```suggestion
frame restarts the idle timeout for this endpoint also if this is the first
```

-- 
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/3983#pullrequestreview-465471373

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 11 Aug 2020 15:28:43 -0700

idle timeout.  This facility could be used when the application wishes to avoid
 losing state that has been associated with an open connection, but does not
 expect to exchange application data for some time.  With this option, an
-endpoint could send a PING frame periodically to defer an idle timeout; see
-{{frame-ping}}.
+endpoint could send a PING frame ({{frame-ping}}) periodically, which will cause
+the peer to restart its idle timeout period.  Sending a packet containing a PING
+frame also restarts the idle timeout for the endpoint if this is the first
+ack-eliciting packet sent since receiving a packet.  Sending a PING frame causes
+the peer to respond with an acknowledgment, which also restarts the idle
+timeout.

```suggestion
timeout for the endpoint.
```

-- 
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/3983#pullrequestreview-465471532

---

From: Jana Iyengar <[email-masked]>
Date: Tue, 11 Aug 2020 15:29:10 -0700

@janaiyengar approved this pull request.

Couple of nits, but LGTM.

-- 
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/3983#pullrequestreview-465471730

---

From: Martin Thomson <[email-masked]>
Date: Tue, 11 Aug 2020 15:30:41 -0700

da6ebb55ca40db8d33be9218275a04a99536fd84  Reword restarting on ACK

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/3983/files/396f64ebdec2eb652392e557afcca66a726d7809..da6ebb55ca40db8d33be9218275a04a99536fd84

---

From: Martin Thomson <[email-masked]>
Date: Wed, 12 Aug 2020 00:13:07 +0000 (UTC)

Merged #3983 into master.

-- 
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/3983#event-3645468442