Subject: [quicwg/base-drafts] Replace ack_only with retransmittable (#1934)

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 15:36:42 +0000 (UTC)

Fixes the worst errors cited in #1932 

Feel free to make more suggestions.
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * Replace ack_only with retransmittable
  * Update draft-ietf-quic-recovery.md

-- File Changes --

    M draft-ietf-quic-recovery.md (20)

-- Patch Links --

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

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 08:40:29 -0700

@ianswett pushed 1 commit.

86f8603  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/fd46ae4afed0ca2a8f872c85c2268f154de88232..86f8603056774ebf1b7c4a07e4d3741f50db02bb

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 08:42:17 -0700

a6f9a80  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/86f8603056774ebf1b7c4a07e4d3741f50db02bb..a6f9a80bdffc8698f84f3395d85c6150fa2a9933

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 10:00:26 -0700

48bee8b  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/a6f9a80bdffc8698f84f3395d85c6150fa2a9933..48bee8bd27dd2bb65baba6b31993b8b0e66b21a5

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 21:47:53 +0000 (UTC)

adcdeb0  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/48bee8bd27dd2bb65baba6b31993b8b0e66b21a5..adcdeb06ec0ba6febb548f9bc25d0cadada64a6d

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 14:48:48 -0700

d34b7a7  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/adcdeb06ec0ba6febb548f9bc25d0cadada64a6d..d34b7a74279cba3a2401d77dcdd027f97ecffff5

---

From: MikkelFJ <[email-masked]>
Date: Tue, 30 Oct 2018 16:24:21 -0700

mikkelfj commented on this pull request.

> @@ -132,7 +132,7 @@ acknowledged or declared lost and sent in new packets as necessary. The types
 of frames contained in a packet affect recovery and congestion control logic:
 
 * All packets are acknowledged, though packets that contain only ACK
-  and PADDING frames are not acknowledged immediately.
+  and/or PADDING frames are not acknowledged immediately.

```suggestion
  and/or PADDING frames are only acknowledged along with other packets.
```

(Other packets are also not always acknowledged immediately).

> @@ -657,9 +657,9 @@ are as follows:
 
 * packet_number: The packet number of the sent packet.
 
-* ack_only: A boolean that indicates whether a packet contains only
-  ACK or PADDING frame(s).  If true, it is still expected an ack will
-  be received for this packet, but it is not retransmittable.
+* retransmittable: A boolean that indicates whether a packet contains
+  frame(s) besides ACK or PADDING.  If true, it is expected an ACK will
+  be received, though the peer may delay it by up to the MaxAckDelay.

```suggestion
  be received promptly, though the peer may delay it by up to the MaxAckDelay.
```

(It is always expected that an ACK will be received, but not always promptly.)

-- 
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/1934#pullrequestreview-170040821

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 16:27:11 -0700

ianswett commented on this pull request.

 

Actually, it's possible an ACK is never received, for example if the connection idle times out and closes 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/1934#discussion_r229521855

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 23:28:33 +0000 (UTC)

121db87  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/d34b7a74279cba3a2401d77dcdd027f97ecffff5..121db870bc2313bb2d2bda680bdd87ee0ea8baff

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 16:29:14 -0700

b2641bf  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/121db870bc2313bb2d2bda680bdd87ee0ea8baff..b2641bf860feb66ac3c532dc6c2ffbf3908864f5

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 16:31:11 -0700

8ef8af2  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/b2641bf860feb66ac3c532dc6c2ffbf3908864f5..8ef8af2050c09afc66a139ad66b9f359afcee47c

---

From: MikkelFJ <[email-masked]>
Date: Tue, 30 Oct 2018 16:31:47 -0700

Yes I am aware, but didn't find it important in relation to the text being discussed.

-- 
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/1934#discussion_r229522696

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 23:33:11 +0000 (UTC)

Ok, I updated the text to sidestep the issue.

-- 
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/1934#discussion_r229522938

---

From: janaiyengar <[email-masked]>
Date: Tue, 30 Oct 2018 16:37:35 -0700

janaiyengar approved this pull request.

Couple of nits, but lgtm.

 

```suggestion
  frame(s) besides ACK or PADDING.  If true, it is expected that an
  acknowledgement will be received, though the peer may delay it by
  up to the MaxAckDelay.
```

 

```suggestion
```

> @@ -616,12 +617,12 @@ sent_packets:
 
 : An association of packet numbers to information about them, including a number
   field indicating the packet number, a time field indicating the time a packet
-  was sent, a boolean indicating whether the packet is ack-only, a boolean
-  indicating whether it counts towards bytes in flight, and a size field that
-  indicates the packet's size in bytes.  sent_packets is ordered by packet
-  number, and packets remain in sent_packets until acknowledged or lost.  A
-  sent_packets data structure is maintained per packet number space, and ACK
-  processing only applies to a single space.
+  was sent, a boolean indicating whether the packet is retransmittable,
+  a boolean indicating whether it counts towards bytes in flight, and a size
+  field indicating the packet's size in bytes.  sent_packets is ordered and
+  indexed by packet number. Packets remain in sent_packets until acknowledged
+  or lost.  A sent_packets data structure is maintained per packet number space,
+  and ACK processing only applies to a single space.

```suggestion
  and processing of an ACK frame only applies to a single space.
```

-- 
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/1934#pullrequestreview-170043792

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 16:46:48 -0700

20b455a  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/8ef8af2050c09afc66a139ad66b9f359afcee47c..20b455a9971982c4f9275f4f3249923333f360b8

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 23:48:05 +0000 (UTC)

84323c4  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/20b455a9971982c4f9275f4f3249923333f360b8..84323c4f36c55b99c8b18c35931f12fbaca78f29

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 16:49:15 -0700

04c4075  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/84323c4f36c55b99c8b18c35931f12fbaca78f29..04c4075d969ed962966d631e6631101f1992101e

---

From: MikkelFJ <[email-masked]>
Date: Tue, 30 Oct 2018 23:54:53 +0000 (UTC)

Reverting a bit on this: the text gives the impression that ACK's happen eventually, but if the ACK frame grows fat, old packets will fall out. For example if sending massive amounts of padding for no good reason. I suppose this is covered in transport but ...

-- 
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/1934#discussion_r229526734

---

From: Martin Thomson <[email-masked]>
Date: Tue, 30 Oct 2018 17:17:58 -0700

martinthomson commented on this pull request.

 

may or MAY?

```suggestion
  be received, though the peer could delay it by up to the MaxAckDelay.
```

-- 
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/1934#pullrequestreview-170030712

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 17:22:12 -0700

9d2f72f  could

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/04c4075d969ed962966d631e6631101f1992101e..9d2f72f5eef42156cec01d6324f507f813cb088f

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 17:40:07 -0700

d958939  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/9d2f72f5eef42156cec01d6324f507f813cb088f..d9589391de0f576926433717773760891f880316

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 17:43:17 -0700

a856d1e  Update draft-ietf-quic-recovery.md

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1934/files/d9589391de0f576926433717773760891f880316..a856d1ef9378cbfa821383406175a37dfcf1c08d

---

From: janaiyengar <[email-masked]>
Date: Tue, 30 Oct 2018 18:15:37 -0700

janaiyengar commented on this pull request.

> @@ -131,8 +132,9 @@ mechanisms ensure that data and frames that need reliable delivery are
 acknowledged or declared lost and sent in new packets as necessary. The types
 of frames contained in a packet affect recovery and congestion control logic:
 
-* All packets are acknowledged, though packets that contain only ACK
-  and PADDING frames are not acknowledged immediately.
+* All packets are acknowledged, though packets that contain no
+  retransmittable frames are only acknowledged along with retransmittable
+  packets.

How about: "Packets containing only ACK or PADDING frames are not required to be acknowledged immediately by a receiver. They might be eventually included in acknowledgements when subsequent packets containing retransmittable frames are received by the receiver."

-- 
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/1934#pullrequestreview-170062028

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 18:43:59 -0700

I like what I have in this PR currently better.  Is there something you don't like about the current text that you're trying to fix?

-- 
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/1934#discussion_r229541654

---

From: ianswett <[email-masked]>
Date: Wed, 31 Oct 2018 06:20:36 -0700

I'm merging this because it's starting to overlap with #1939.  I'm happy to fix any outstanding issues in that PR.

-- 
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/1934#issuecomment-434683697

---

From: ianswett <[email-masked]>
Date: Wed, 31 Oct 2018 06:20:42 -0700

Merged #1934 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/1934#event-1937842699