From d3abf0ec3f790c34b823b380c71f411e0eb5c3f7 Mon Sep 17 00:00:00 2001 From: Marten Seemann Date: Tue, 15 Dec 2020 12:02:54 +0700 Subject: [PATCH] fix logging of bytes_in_flight when receiving an ACK The tracing call needs to be issued after subtracting acknowledged and lost packets from the bytes_in_flight. --- internal/ackhandler/sent_packet_handler.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/ackhandler/sent_packet_handler.go b/internal/ackhandler/sent_packet_handler.go index 99a51eb80..d4dd6498a 100644 --- a/internal/ackhandler/sent_packet_handler.go +++ b/internal/ackhandler/sent_packet_handler.go @@ -306,9 +306,6 @@ func (h *sentPacketHandler) ReceivedAck(ack *wire.AckFrame, encLevel protocol.En h.logger.Debugf("\tupdated RTT: %s (σ: %s)", h.rttStats.SmoothedRTT(), h.rttStats.MeanDeviation()) } h.congestion.MaybeExitSlowStart() - if h.tracer != nil { - h.tracer.UpdatedMetrics(h.rttStats, h.congestion.GetCongestionWindow(), h.bytesInFlight, h.packetsInFlight()) - } } } if err := h.detectLostPackets(rcvTime, encLevel); err != nil { @@ -333,6 +330,10 @@ func (h *sentPacketHandler) ReceivedAck(ack *wire.AckFrame, encLevel protocol.En } h.numProbesToSend = 0 + if h.tracer != nil { + h.tracer.UpdatedMetrics(h.rttStats, h.congestion.GetCongestionWindow(), h.bytesInFlight, h.packetsInFlight()) + } + pnSpace.history.DeleteOldPackets(rcvTime) h.setLossDetectionTimer() return nil