From 49ecfc025ac2dcb87f93ff10f88d92be9908e965 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 17 Dec 2018 11:46:26 -0500 Subject: [PATCH 1/3] Clarify In-flight --- draft-ietf-quic-recovery.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index d4566891a6..2fb19f5502 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -102,7 +102,8 @@ In-flight: : Packets are considered in-flight when they have been sent and neither acknowledged nor declared lost, and they are not - ACK-only. + ACK-only. Packets are still considered in-flight even if + their payloads no longer need to be delivered. Ack-eliciting Frames: From 66f455dbab18e52f2eb82cf87a7687cc22c8df35 Mon Sep 17 00:00:00 2001 From: ianswett Date: Tue, 18 Dec 2018 21:36:24 -0500 Subject: [PATCH 2/3] Update draft-ietf-quic-recovery.md --- draft-ietf-quic-recovery.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 2fb19f5502..5a48ea36ac 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -102,8 +102,9 @@ In-flight: : Packets are considered in-flight when they have been sent and neither acknowledged nor declared lost, and they are not - ACK-only. Packets are still considered in-flight even if - their payloads no longer need to be delivered. + ACK-only. For example, packets containing STREAM frames are + still considered in-flight after the corresponding stream + is reset. Ack-eliciting Frames: From 372ac1c098acf3270b5435eef3172c17d1fbc93c Mon Sep 17 00:00:00 2001 From: ianswett Date: Wed, 19 Dec 2018 16:23:08 -0500 Subject: [PATCH 3/3] in_flight, not ack_eliciting --- draft-ietf-quic-recovery.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 5a48ea36ac..32474309e5 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -661,10 +661,11 @@ Pseudocode for OnPacketSent follows: sent_packets[packet_number].time_sent = now sent_packets[packet_number].ack_eliciting = ack_eliciting sent_packets[packet_number].in_flight = in_flight - if (ack_eliciting): + if (in_flight): if (is_crypto_packet): time_of_last_sent_crypto_packet = now - time_of_last_sent_ack_eliciting_packet = now + if (ack_eliciting): + time_of_last_sent_ack_eliciting_packet = now OnPacketSentCC(sent_bytes) sent_packets[packet_number].size = sent_bytes SetLossDetectionTimer()