From 4eee107e5aa45810be4fdf7923c0256069cfd4f3 Mon Sep 17 00:00:00 2001 From: ianswett Date: Mon, 13 Jul 2020 12:07:08 -0400 Subject: [PATCH 1/3] Clarify what should be sent on PTO I think this is clearer, but maybe there's a larger change people would like. Fixes #3780 --- draft-ietf-quic-recovery.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 058c7def82..442dd15729 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -640,8 +640,8 @@ spaces. If the sender wants to elicit a faster acknowledgement on PTO, it can skip a packet number to eliminate the ack delay. -When the PTO timer expires, and there is new or previously sent unacknowledged -data, it MUST be sent. A probe packet SHOULD carry new data when possible. +When the PTO timer expires, new or previously sent unacknowledged data MUST +be sent if available. A probe packet SHOULD carry new data when possible. A probe packet MAY carry retransmitted unacknowledged data when new data is unavailable, when flow control does not permit new data to be sent, or to opportunistically reduce loss recovery delay. Implementations MAY use From 741d1de572804a1f22cd706b173c4243f3420d05 Mon Sep 17 00:00:00 2001 From: ianswett Date: Tue, 14 Jul 2020 18:14:13 -0400 Subject: [PATCH 2/3] Update draft-ietf-quic-recovery.md Co-authored-by: Martin Thomson --- draft-ietf-quic-recovery.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 442dd15729..f390ccb65d 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -640,11 +640,9 @@ spaces. If the sender wants to elicit a faster acknowledgement on PTO, it can skip a packet number to eliminate the ack delay. -When the PTO timer expires, new or previously sent unacknowledged data MUST -be sent if available. A probe packet SHOULD carry new data when possible. -A probe packet MAY carry retransmitted unacknowledged data when new data is -unavailable, when flow control does not permit new data to be sent, or to -opportunistically reduce loss recovery delay. Implementations MAY use +When the PTO timer expires, an ack-eliciting packet MUST be sent. An endpoint +SHOULD include new data in this packet. Previously sent data MAY be sent if +no new data can be sent. Implementations MAY use alternative strategies for determining the content of probe packets, including sending new or retransmitted data based on the application's priorities. From 2d9fc395c63de43565fe58ec5d6b991923c3b436 Mon Sep 17 00:00:00 2001 From: ianswett Date: Tue, 14 Jul 2020 19:04:50 -0400 Subject: [PATCH 3/3] Update draft-ietf-quic-recovery.md --- draft-ietf-quic-recovery.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index f390ccb65d..2a3a18833a 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -642,10 +642,9 @@ packet number to eliminate the ack delay. When the PTO timer expires, an ack-eliciting packet MUST be sent. An endpoint SHOULD include new data in this packet. Previously sent data MAY be sent if -no new data can be sent. Implementations MAY use -alternative strategies for determining the content of probe packets, -including sending new or retransmitted data based on the application's -priorities. +no new data can be sent. Implementations MAY use alternative strategies for +determining the content of probe packets, including sending new or +retransmitted data based on the application's priorities. It is possible the sender has no new or previously-sent data to send. As an example, consider the following sequence of events: new application data