rename LargestObserved to LargestAcked in QUIC 34 SentPacketHandler

This commit is contained in:
Marten Seemann
2016-06-24 14:36:32 +07:00
parent d86d981319
commit 38c0c3d0aa
3 changed files with 13 additions and 8 deletions

View File

@@ -16,7 +16,7 @@ type SentPacketHandler interface {
DequeuePacketForRetransmission() (packet *Packet)
BytesInFlight() protocol.ByteCount
GetLargestObserved() protocol.PacketNumber
GetLargestAcked() protocol.PacketNumber
CongestionAllowsSending() bool
CheckForError() error

View File

@@ -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 {

View File

@@ -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)))
})