add an ackhandler consistency check that fails the drop tests

This commit is contained in:
Lucas Clemente
2016-08-14 15:54:03 +02:00
parent 5cb3c0a771
commit 1713d38576

View File

@@ -2,6 +2,7 @@ package ackhandler
import (
"errors"
"fmt"
"time"
"github.com/lucas-clemente/quic-go/ackhandlerlegacy"
@@ -227,6 +228,9 @@ func (h *sentPacketHandler) ReceivedAck(ackFrame *frames.AckFrame, withPacketNum
}
if packetNumber >= ackRange.FirstPacketNumber { // packet i contained in ACK range
if packetNumber > ackRange.LastPacketNumber {
return fmt.Errorf("BUG: ackhandler would have acked wrong packet 0x%x, while evaluating range 0x%x -> 0x%x", packetNumber, ackRange.FirstPacketNumber, ackRange.LastPacketNumber)
}
p := h.ackPacket(el)
if p != nil {
ackedPackets = append(ackedPackets, congestion.PacketInfo{Number: p.PacketNumber, Length: p.Length})