detect skipped packet numbers in SentPacketHandler

This commit is contained in:
Marten Seemann 2016-08-10 19:51:56 +07:00 committed by Lucas Clemente
parent c7e3b34e2d
commit b129d13adc
2 changed files with 54 additions and 17 deletions

View file

@ -25,8 +25,10 @@ var errPacketNumberNotIncreasing = errors.New("Already sent a packet with a high
type sentPacketHandler struct {
lastSentPacketNumber protocol.PacketNumber
lastSentPacketTime time.Time
LargestInOrderAcked protocol.PacketNumber
LargestAcked protocol.PacketNumber
skippedPackets []protocol.PacketNumber
LargestInOrderAcked protocol.PacketNumber
LargestAcked protocol.PacketNumber
largestReceivedPacketWithAck protocol.PacketNumber
@ -121,6 +123,10 @@ func (h *sentPacketHandler) SentPacket(packet *ackhandlerlegacy.Packet) error {
return errPacketNumberNotIncreasing
}
for p := h.lastSentPacketNumber + 1; p < packet.PacketNumber; p++ {
h.skippedPackets = append(h.skippedPackets, p)
}
now := time.Now()
h.lastSentPacketTime = now
packet.SendTime = now