update StopWaitings when queueing retransmissions

fixes #231
This commit is contained in:
Marten Seemann
2016-07-30 15:15:51 +07:00
parent 6a34b9bdf0
commit e8a2c497e9
4 changed files with 27 additions and 0 deletions

View File

@@ -32,4 +32,16 @@ var _ = Describe("StopWaitingManager", func() {
Expect(manager.GetStopWaitingFrame()).ToNot(BeNil())
Expect(manager.GetStopWaitingFrame()).To(BeNil())
})
It("increases the LeastUnacked when a retransmission is queued", func() {
manager.ReceivedAck(&frames.AckFrame{LargestAcked: 10})
manager.QueuedRetransmissionForPacketNumber(20)
Expect(manager.GetStopWaitingFrame()).To(Equal(&frames.StopWaitingFrame{LeastUnacked: 21}))
})
It("does not decrease the LeastUnacked when a retransmission is queued", func() {
manager.ReceivedAck(&frames.AckFrame{LargestAcked: 10})
manager.QueuedRetransmissionForPacketNumber(9)
Expect(manager.GetStopWaitingFrame()).To(Equal(&frames.StopWaitingFrame{LeastUnacked: 11}))
})
})