From a3e42edf74309f2ae2a679c45fb76948a98534de Mon Sep 17 00:00:00 2001 From: ianswett Date: Sun, 12 Nov 2017 22:19:01 -0500 Subject: [PATCH 1/4] Define kUsingTimeLossDetection Fixes #534 --- draft-ietf-quic-recovery.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 8a8ebf9d26..7edb8b9574 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -432,6 +432,10 @@ kTimeReorderingFraction (default 1/8): : Maximum reordering in time space before time based loss detection considers a packet lost. In fraction of an RTT. +kUsingTimeLossDetection (default false): +: Whether time based loss detection is in use. If false, uses FACK style + loss detection. + kMinTLPTimeout (default 10ms): : Minimum time in the future a tail loss probe alarm may be set for. @@ -516,12 +520,10 @@ follows: handshake_count = 0 tlp_count = 0 rto_count = 0 - if (UsingTimeLossDetection()) + if (kUsingTimeLossDetection) reordering_threshold = infinite time_reordering_fraction = kTimeReorderingFraction - else: - reordering_threshold = kReorderingThreshold - time_reordering_fraction = infinite + reordering_threshold = kReorderingThreshold loss_time = 0 smoothed_rtt = 0 rttvar = 0 From 7daefd4132e4595758f616e8649656c13eb4c742 Mon Sep 17 00:00:00 2001 From: ianswett Date: Sun, 12 Nov 2017 22:27:07 -0500 Subject: [PATCH 2/4] Update draft-ietf-quic-recovery.md --- draft-ietf-quic-recovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 7edb8b9574..c84bdffcaf 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -760,7 +760,7 @@ Pseudocode for DetectLostPackets follows: loss_time = 0 lost_packets = {} delay_until_lost = infinite - if (time_reordering_fraction != infinite): + if (kUsingTimeLossDetection): delay_until_lost = (1 + time_reordering_fraction) * max(latest_rtt, smoothed_rtt) else if (largest_acked.packet_number == largest_sent_packet): From 9bdb40c6e1cbecb12c32dca3ff0935beb6968d9a Mon Sep 17 00:00:00 2001 From: ianswett Date: Sun, 12 Nov 2017 22:28:32 -0500 Subject: [PATCH 3/4] Update draft-ietf-quic-recovery.md --- draft-ietf-quic-recovery.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index c84bdffcaf..80a9d78cc7 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -523,7 +523,9 @@ follows: if (kUsingTimeLossDetection) reordering_threshold = infinite time_reordering_fraction = kTimeReorderingFraction - reordering_threshold = kReorderingThreshold + else: + reordering_threshold = kReorderingThreshold + time_reordering_fraction = infinite loss_time = 0 smoothed_rtt = 0 rttvar = 0 From 5e6cc67c435325388a3302fbf9244d1940f030cf Mon Sep 17 00:00:00 2001 From: ianswett Date: Sun, 12 Nov 2017 22:29:03 -0500 Subject: [PATCH 4/4] Update draft-ietf-quic-recovery.md --- draft-ietf-quic-recovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/draft-ietf-quic-recovery.md b/draft-ietf-quic-recovery.md index 80a9d78cc7..bad8ae7f63 100644 --- a/draft-ietf-quic-recovery.md +++ b/draft-ietf-quic-recovery.md @@ -524,7 +524,7 @@ follows: reordering_threshold = infinite time_reordering_fraction = kTimeReorderingFraction else: - reordering_threshold = kReorderingThreshold + reordering_threshold = kReorderingThreshold time_reordering_fraction = infinite loss_time = 0 smoothed_rtt = 0