only delete a Packet from history in SentPacketHandler once it has been ACKed

This commit is contained in:
Marten Seemann
2016-04-27 17:19:54 +07:00
parent 2c95141ee1
commit 2056960e07
3 changed files with 11 additions and 14 deletions

View File

@@ -340,15 +340,16 @@ var _ = Describe("SentPacketHandler", func() {
Expect(handler.DequeuePacketForRetransmission()).To(BeNil())
})
It("recalculates the highestInOrderAckedPacketNumber after queueing a retransmission", func() {
It("does not change the highestInOrderAckedPacketNumber after queueing a retransmission", func() {
ack := frames.AckFrame{
LargestObserved: 4,
NackRanges: []frames.NackRange{frames.NackRange{FirstPacketNumber: 3, LastPacketNumber: 3}},
}
err := handler.ReceivedAck(&ack)
Expect(err).ToNot(HaveOccurred())
Expect(handler.highestInOrderAckedPacketNumber).To(Equal(protocol.PacketNumber(2)))
handler.nackPacket(3) // this is the second NACK for this packet
Expect(handler.highestInOrderAckedPacketNumber).To(Equal(protocol.PacketNumber(4)))
Expect(handler.highestInOrderAckedPacketNumber).To(Equal(protocol.PacketNumber(2)))
})
})
})