optimize deleting packets from the packet history

DeleteBelow is often called with the same value, so we can improve the
performance by introducing a short path for this case.
This commit is contained in:
Marten Seemann
2018-02-01 13:33:25 +08:00
parent 29307c5067
commit 94e812df12

View File

@@ -76,7 +76,10 @@ func (h *receivedPacketHistory) ReceivedPacket(p protocol.PacketNumber) error {
// DeleteBelow deletes all entries below (but not including) p
func (h *receivedPacketHistory) DeleteBelow(p protocol.PacketNumber) {
h.lowestInReceivedPacketNumbers = utils.MaxPacketNumber(h.lowestInReceivedPacketNumbers, p)
if p <= h.lowestInReceivedPacketNumbers {
return
}
h.lowestInReceivedPacketNumbers = p
nextEl := h.ranges.Front()
for el := h.ranges.Front(); nextEl != nil; el = nextEl {