Subject: [quicwg/base-drafts] What to track and send (#1939)

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 19:37:02 -0700

First pass at #765 and some of #1724
You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * What to track and send

-- File Changes --

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

-- Patch Links --

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

---

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

@ianswett pushed 1 commit.

742c8fc  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/1939/files/9968c4b9aa47c1fa7963d17d1461d6120ba41a33..742c8fc69fc78ae6c0255da3a68472cd8f483fd6

---

From: ianswett <[email-masked]>
Date: Tue, 30 Oct 2018 19:41:13 -0700

9f19737  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/1939/files/742c8fc69fc78ae6c0255da3a68472cd8f483fd6..9f19737dbd9ca4a88c6a997fc952e169ba434ad2

---

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

82b6ab8  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/1939/files/9f19737dbd9ca4a88c6a997fc952e169ba434ad2..82b6ab8bc7e5177cdeaf509c2f98d7cfa42ccb10

---

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

ed6ae0d  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/1939/files/82b6ab8bc7e5177cdeaf509c2f98d7cfa42ccb10..ed6ae0d74403cb36aeec7be481497b59ab28bca1

---

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

427381c  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/1939/files/75395703dbf7910383623764995091ddd91866ca..427381c472d677a7bab0c0bd06cba72734482520

---

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

b0a56b7  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/1939/files/427381c472d677a7bab0c0bd06cba72734482520..b0a56b78981dede6cb8c242588b0573722c2dda7

---

From: Nick Banks <[email-masked]>
Date: Wed, 31 Oct 2018 06:45:53 -0700

nibanks approved this pull request.

LGTM 👍

> -  retransmittable. If true, it is expected that an acknowledgement will
-  be received, though the peer could delay sending the ACK frame containing
-  it by up to the MaxAckDelay.
-
-* in_flight: A boolean that indicates whether the packet counts towards bytes in
-  flight.
-
-* is_crypto_packet: A boolean that indicates whether the packet contains
-  cryptographic handshake messages critical to the completion of the QUIC
-  handshake. In this version of QUIC, this includes any packet with the long
-  header that includes a CRYPTO frame.
-
-* sent_bytes: The number of bytes sent in the packet, not including UDP or IP
-  overhead, but including QUIC framing overhead.
+After any packet is sent.  The parameters to OnPacketSent are described in detail
+above in {{sent-packets-fields}}.

I believe the error is because `detail` needs to wrap to the next line.
```
After any packet is sent.  The parameters to OnPacketSent are described in
detail above in {{sent-packets-fields}}.
```

-- 
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/1939#pullrequestreview-170257698

---

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

66c4ddb  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/1939/files/b0a56b78981dede6cb8c242588b0573722c2dda7..66c4ddbc5c4a32afe08087c09cd24fd96315fbd3

---

From: ianswett <[email-masked]>
Date: Wed, 31 Oct 2018 16:12:57 +0000 (UTC)

ianswett commented on this pull request.

Thanks Nick, fixed.

-- 
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/1939#discussion_r229760749

---

From: Martin Thomson <[email-masked]>
Date: Wed, 31 Oct 2018 16:33:44 -0700

martinthomson commented on this pull request.

> @@ -509,6 +509,58 @@ frames containing them could be lost. In this case, the loss recovery algorithm
 may cause spurious retransmits, but the sender will continue making forward
 progress.
 
+## Tracking Sent Packets {#tracking-sent-packets}
+
+QUIC stores information about every packet sent. It's expected implementations
+will index this per-packet information by packet number and store the
+per-packet fields detailed below for loss recovery and congestion control.
+Additionally, implementations MUST ensure that any retransmittable frames
+being transmitted are tracked in case of loss.
+
+If a packet containing retransmittable frames is lost, the QUIC transport
+needs to recover from that loss, such as by retransmitting the data,
+sending an updated frame, or abandoning the frame. In the case of
+STREAM data, the data should be retransmitted unless the send side of the
+stream is closed.

I don't know why you would call out STREAM specially here.  Why not just reference [Section 13.2 of transport](https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#rfc.section.13.2).

-- 
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/1939#pullrequestreview-170512488

---

From: ianswett <[email-masked]>
Date: Wed, 31 Oct 2018 17:09:01 -0700

4f822a3  Reference transport

-- 
You are receiving this because you are subscribed to this thread.
View it on GitHub:
https://github.com/quicwg/base-drafts/pull/1939/files/66c4ddbc5c4a32afe08087c09cd24fd96315fbd3..4f822a384ce42eb1bc2d7dcc9a868e8afa8efbbe

---

From: ianswett <[email-masked]>
Date: Wed, 31 Oct 2018 17:09:21 -0700

Great idea, is this the right way to reference a section of another doc?

-- 
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/1939#discussion_r229906658

---

From: Martin Thomson <[email-masked]>
Date: Wed, 31 Oct 2018 17:18:14 -0700

> @@ -509,6 +509,57 @@ frames containing them could be lost. In this case, the loss recovery algorithm
 
+sending an updated frame, or abandoning the frame.  For more information,
+see "Retransmission of Information" in {{QUIC-TRANSPORT}}.

```suggestion
see Section 13.2 of {{QUIC-TRANSPORT}}.
```

-- 
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/1939#pullrequestreview-170519936

---

From: ianswett <[email-masked]>
Date: Wed, 31 Oct 2018 18:21:48 -0700

b276ebd  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/1939/files/4f822a384ce42eb1bc2d7dcc9a868e8afa8efbbe..b276ebdcabb8d7348205789c7213a654519f6af3