don't reject ACKs with a lower largest ACKed value

This commit is contained in:
Marten Seemann
2018-03-07 16:10:57 +07:00
parent c37433abce
commit 85d67ecce5
2 changed files with 4 additions and 8 deletions

View File

@@ -158,12 +158,7 @@ func (h *sentPacketHandler) ReceivedAck(ackFrame *wire.AckFrame, withPacketNumbe
return nil
}
h.largestReceivedPacketWithAck = withPacketNumber
// ignore repeated ACK (ACKs that don't have a higher LargestAcked than the last ACK)
if ackFrame.LargestAcked < h.lowestUnacked() {
return nil
}
h.largestAcked = ackFrame.LargestAcked
h.largestAcked = utils.MaxPacketNumber(h.largestAcked, ackFrame.LargestAcked)
if h.skippedPacketsAcked(ackFrame) {
return qerr.Error(qerr.InvalidAckData, "Received an ACK for a skipped packet number")