From ba3b29381186d0f424c97a2bca482f6bceb64528 Mon Sep 17 00:00:00 2001 From: Lucas Clemente Date: Thu, 4 Aug 2016 22:17:36 +0200 Subject: [PATCH] don't NACK already retransmitted packets in v34 ref #243, #248, #251 --- ackhandler/sent_packet_handler.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ackhandler/sent_packet_handler.go b/ackhandler/sent_packet_handler.go index 32c184d8f..e92290213 100644 --- a/ackhandler/sent_packet_handler.go +++ b/ackhandler/sent_packet_handler.go @@ -90,6 +90,10 @@ func (h *sentPacketHandler) nackPacket(packetNumber protocol.PacketNumber) (*ack return nil, nil } + if packet.Retransmitted { + return nil, nil + } + packet.MissingReports++ if packet.MissingReports > protocol.RetransmissionThreshold { @@ -149,7 +153,6 @@ func (h *sentPacketHandler) SentPacket(packet *ackhandlerlegacy.Packet) error { return nil } -// TODO: Simplify return types func (h *sentPacketHandler) ReceivedAck(ackFrame *frames.AckFrame, withPacketNumber protocol.PacketNumber) error { if ackFrame.LargestAcked > h.lastSentPacketNumber { return errAckForUnsentPacket