From 38c0c3d0aaea779689aae98c829b7fb152f6cd85 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Fri, 24 Jun 2016 14:36:32 +0700 Subject: [PATCH] rename LargestObserved to LargestAcked in QUIC 34 SentPacketHandler --- ackhandlernew/interfaces.go | 2 +- ackhandlernew/sent_packet_handler.go | 12 ++++++------ ackhandlernew/sent_packet_handler_test.go | 7 ++++++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ackhandlernew/interfaces.go b/ackhandlernew/interfaces.go index 68b6f7cd..8f7dde3d 100644 --- a/ackhandlernew/interfaces.go +++ b/ackhandlernew/interfaces.go @@ -16,7 +16,7 @@ type SentPacketHandler interface { DequeuePacketForRetransmission() (packet *Packet) BytesInFlight() protocol.ByteCount - GetLargestObserved() protocol.PacketNumber + GetLargestAcked() protocol.PacketNumber CongestionAllowsSending() bool CheckForError() error diff --git a/ackhandlernew/sent_packet_handler.go b/ackhandlernew/sent_packet_handler.go index 35b5405c..aceeb9e3 100644 --- a/ackhandlernew/sent_packet_handler.go +++ b/ackhandlernew/sent_packet_handler.go @@ -32,7 +32,7 @@ type sentPacketHandler struct { lastSentPacketNumber protocol.PacketNumber lastSentPacketTime time.Time highestInOrderAckedPacketNumber protocol.PacketNumber - LargestObserved protocol.PacketNumber + LargestAcked protocol.PacketNumber // TODO: Move into separate class as in chromium packetHistory map[protocol.PacketNumber]*Packet @@ -152,14 +152,14 @@ func (h *sentPacketHandler) ReceivedAck(ackFrame *frames.AckFrameNew) error { return errAckForUnsentPacket } - if ackFrame.LargestAcked <= h.LargestObserved { // duplicate or out-of-order AckFrame + if ackFrame.LargestAcked <= h.LargestAcked { // duplicate or out-of-order AckFrame return ErrDuplicateOrOutOfOrderAck } - h.LargestObserved = ackFrame.LargestAcked + h.LargestAcked = ackFrame.LargestAcked // Update the RTT - timeDelta := time.Now().Sub(h.packetHistory[h.LargestObserved].sendTime) + timeDelta := time.Now().Sub(h.packetHistory[h.LargestAcked].sendTime) // TODO: Don't always update RTT h.rttStats.UpdateRTT(timeDelta, ackFrame.DelayTime, time.Now()) if utils.Debug() { @@ -247,8 +247,8 @@ func (h *sentPacketHandler) BytesInFlight() protocol.ByteCount { return h.bytesInFlight } -func (h *sentPacketHandler) GetLargestObserved() protocol.PacketNumber { - return h.LargestObserved +func (h *sentPacketHandler) GetLargestAcked() protocol.PacketNumber { + return h.LargestAcked } func (h *sentPacketHandler) CongestionAllowsSending() bool { diff --git a/ackhandlernew/sent_packet_handler_test.go b/ackhandlernew/sent_packet_handler_test.go index 38eec437..2fe800af 100644 --- a/ackhandlernew/sent_packet_handler_test.go +++ b/ackhandlernew/sent_packet_handler_test.go @@ -83,6 +83,11 @@ var _ = Describe("SentPacketHandler", func() { Expect(handler.stopWaitingManager.(*mockStopWaiting).receivedAckForPacketNumber).To(Equal(protocol.PacketNumber(2))) }) + It("gets the LargestAcked packet number", func() { + handler.LargestAcked = 0x1337 + Expect(handler.GetLargestAcked()).To(Equal(protocol.PacketNumber(0x1337))) + }) + Context("registering sent packets", func() { It("accepts two consecutive packets", func() { packet1 := Packet{PacketNumber: 1, Frames: []frames.Frame{&streamFrame}, Length: 1} @@ -201,7 +206,7 @@ var _ = Describe("SentPacketHandler", func() { ack.LargestAcked-- err = handler.ReceivedAck(&ack) Expect(err).To(MatchError(ErrDuplicateOrOutOfOrderAck)) - Expect(handler.LargestObserved).To(Equal(protocol.PacketNumber(largestAcked))) + Expect(handler.LargestAcked).To(Equal(protocol.PacketNumber(largestAcked))) Expect(handler.BytesInFlight()).To(Equal(protocol.ByteCount(len(packets) - 3))) })