forked from quic-go/quic-go
Merge pull request #3051 from q191201771/merge-packet-number-ranges
refactor merge packet number ranges
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user