Subject: comments on draft-ietf-quic-recovery-06

From: Stanislav Slusny <[email-masked]>
Date: Mon, 2 Oct 2017 15:18:33 +0200

Hi,

A few comments on the loss detection part of draft-ietf-quic-recovery-06:

- Early retransmit timer is computed since the sent time of the first
unacked packet (unacked.time_sent + delay_until_lost) in
DetectLostPackets().  Other timers (handshake timer, TLP timer, RTO timer)
are computed since the time of the most recently sent packet, but since
"now" in SetLossDetectionAlarm().

- Should we update largest_acked_packet in OnAckReceived() only if the
"ack.largest_acked > largest_acked_packet" ? Acks might be reordered.

-  "ack.largest_acked" seems to be a packet number, but
"largest_acked.packet_number" is used in DetectLostPackets(largest_acked).

- Rename SentOnePacket() and SendTwoPackets() :-) (RetransmitTlp(),
RetransmitRtoPackets())

- Describe variable "retransmittable_packets_outstanding" in section
"Variables of interest". It would be nice to rename it so that it is clear
that it expresses the count of packets.

- Sent time of a packet is denoted as "sent_packets[NUMBER].time" and
"unacked.time_sent", it would be nice to unify it.

- Both "ack.ack_delay" and "ack.delay" are used in OnAckReceived().

- "acked_packet.packet_number" in OnAckReceived() should be
"ack.packet_number".

- Add a note saying that if spurious RTT occurs, variance should be
increased.

Thanks,

Stanislav Slusny