change AckHandler interfaces to allow forcing a StopWaitingFrame

ref #259
This commit is contained in:
Marten Seemann
2016-08-18 12:43:59 +07:00
parent 7d05ebf0bb
commit 7d05640b24
7 changed files with 9 additions and 9 deletions

View File

@@ -13,7 +13,7 @@ type SentPacketHandler interface {
SentPacket(packet *ackhandlerlegacy.Packet) error
ReceivedAck(ackFrame *frames.AckFrame, withPacketNumber protocol.PacketNumber) error
GetStopWaitingFrame() *frames.StopWaitingFrame
GetStopWaitingFrame(force bool) *frames.StopWaitingFrame
MaybeQueueRTOs()
DequeuePacketForRetransmission() (packet *ackhandlerlegacy.Packet)

View File

@@ -265,8 +265,8 @@ func (h *sentPacketHandler) GetLeastUnacked() protocol.PacketNumber {
return h.largestInOrderAcked() + 1
}
func (h *sentPacketHandler) GetStopWaitingFrame() *frames.StopWaitingFrame {
return h.stopWaitingManager.GetStopWaitingFrame(false)
func (h *sentPacketHandler) GetStopWaitingFrame(force bool) *frames.StopWaitingFrame {
return h.stopWaitingManager.GetStopWaitingFrame(force)
}
func (h *sentPacketHandler) CongestionAllowsSending() bool {

View File

@@ -614,12 +614,12 @@ var _ = Describe("SentPacketHandler", func() {
ack := frames.AckFrame{LargestAcked: 5, LowestAcked: 5}
err := handler.ReceivedAck(&ack, 1)
Expect(err).ToNot(HaveOccurred())
Expect(handler.GetStopWaitingFrame()).To(Equal(&frames.StopWaitingFrame{LeastUnacked: 6}))
Expect(handler.GetStopWaitingFrame(false)).To(Equal(&frames.StopWaitingFrame{LeastUnacked: 6}))
})
It("gets a StopWaitingFrame after queueing a retransmission", func() {
handler.queuePacketForRetransmission(getPacketElement(5))
Expect(handler.GetStopWaitingFrame()).To(Equal(&frames.StopWaitingFrame{LeastUnacked: 6}))
Expect(handler.GetStopWaitingFrame(false)).To(Equal(&frames.StopWaitingFrame{LeastUnacked: 6}))
})
})
})