From 0c873d69ec2ffe8cb9457e7ccdeab192f9d551d3 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Wed, 3 Aug 2016 13:09:52 +0700 Subject: [PATCH] fix lowestInreceivedTimes index in new ReceivedPacketHandler --- ackhandler/received_packet_handler.go | 4 +++- ackhandler/received_packet_handler_test.go | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ackhandler/received_packet_handler.go b/ackhandler/received_packet_handler.go index fd3e5695..4f804e60 100644 --- a/ackhandler/received_packet_handler.go +++ b/ackhandler/received_packet_handler.go @@ -135,5 +135,7 @@ func (h *receivedPacketHandler) garbageCollectReceivedTimes() { for i := h.lowestInReceivedTimes; i <= h.ignorePacketsBelow; i++ { delete(h.receivedTimes, i) } - h.lowestInReceivedTimes = h.ignorePacketsBelow + if h.ignorePacketsBelow > h.lowestInReceivedTimes { + h.lowestInReceivedTimes = h.ignorePacketsBelow + 1 + } } diff --git a/ackhandler/received_packet_handler_test.go b/ackhandler/received_packet_handler_test.go index 956e4b71..c0b0413f 100644 --- a/ackhandler/received_packet_handler_test.go +++ b/ackhandler/received_packet_handler_test.go @@ -278,6 +278,7 @@ var _ = Describe("receivedPacketHandler", func() { Expect(handler.receivedTimes).ToNot(HaveKey(protocol.PacketNumber(2))) Expect(handler.receivedTimes).To(HaveKey(protocol.PacketNumber(3))) Expect(handler.receivedTimes).To(HaveKey(protocol.PacketNumber(4))) + Expect(handler.lowestInReceivedTimes).To(Equal(protocol.PacketNumber(3))) }) It("garbage collects the receivedTimes after receiving multiple StopWaitings", func() { @@ -292,6 +293,7 @@ var _ = Describe("receivedPacketHandler", func() { Expect(handler.receivedTimes).To(HaveLen(2)) // packets 8 and 9 Expect(handler.receivedTimes).To(HaveKey(protocol.PacketNumber(8))) Expect(handler.receivedTimes).To(HaveKey(protocol.PacketNumber(9))) + Expect(handler.lowestInReceivedTimes).To(Equal(protocol.PacketNumber(8))) }) It("garbage collects receivedTimes after receiving a StopWaiting, if there are missing packets", func() { @@ -306,6 +308,7 @@ var _ = Describe("receivedPacketHandler", func() { Expect(handler.receivedTimes).ToNot(HaveKey(protocol.PacketNumber(1))) Expect(handler.receivedTimes).ToNot(HaveKey(protocol.PacketNumber(2))) Expect(handler.receivedTimes).To(HaveKey(protocol.PacketNumber(4))) + Expect(handler.lowestInReceivedTimes).To(Equal(protocol.PacketNumber(4))) }) }) })