Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make in_flight the criterion for declaring loss #2104

Merged
merged 3 commits into from Dec 18, 2018
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 3 additions & 4 deletions draft-ietf-quic-recovery.md
Expand Up @@ -302,10 +302,9 @@ Ack-based loss detection implements the spirit of TCP's Fast Retransmit
{{?RFC6675}}, and RACK {{?RACK=I-D.ietf-tcpm-rack}}. This section provides an
overview of how these algorithms are implemented in QUIC.

A packet is declared lost under the following conditions:
A packet is declared lost if it meets both of the following conditions:

* The packet is unacknowledged, retransmittable, and was sent prior to an
acknowledged packet.
* The packet is in-flight, and was sent prior to an acknowledged packet.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you intend to drop "unacknowledged"?


* Either its packet number is kPacketThreshold smaller than an acknowledged
packet ({{packet-threshold}}), or it was sent long enough in the past
Expand Down Expand Up @@ -875,7 +874,7 @@ DetectLostPackets(largest_acked):
if (time_since_sent > delay_until_lost ||
delta > kPacketThreshold):
sent_packets.remove(unacked.packet_number)
if (unacked.retransmittable):
if (unacked.in_flight):
lost_packets.insert(unacked)
else if (loss_time == 0 && delay_until_lost != infinite):
loss_time = now() + delay_until_lost - time_since_sent
Expand Down