From de0a6d4bbe1ef780c3a44ba4e7dd4554a997bdb6 Mon Sep 17 00:00:00 2001 From: q191201771 <191201771@qq.com> Date: Wed, 24 Feb 2021 11:54:33 +0800 Subject: [PATCH] refactor merge packet number ranges --- internal/ackhandler/received_packet_history.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/internal/ackhandler/received_packet_history.go b/internal/ackhandler/received_packet_history.go index 63d3f8ee3..5a0391ef2 100644 --- a/internal/ackhandler/received_packet_history.go +++ b/internal/ackhandler/received_packet_history.go @@ -44,23 +44,19 @@ func (h *receivedPacketHistory) addToRanges(p protocol.PacketNumber) bool /* is return false } - var rangeExtended bool if el.Value.End == p-1 { // extend a range at the end - rangeExtended = true el.Value.End = p - } else if el.Value.Start == p+1 { // extend a range at the beginning - rangeExtended = true - el.Value.Start = p + return true } + if el.Value.Start == p+1 { // extend a range at the beginning + el.Value.Start = p - // if a range was extended (either at the beginning or at the end, maybe it is possible to merge two ranges into one) - if rangeExtended { prev := el.Prev() if prev != nil && prev.Value.End+1 == el.Value.Start { // merge two ranges prev.Value.End = el.Value.End h.ranges.Remove(el) } - return true // if the two ranges were not merge, we're done here + return true } // create a new range at the end