From 015e9d8d487ba89a154b67a3df7e63afe055dd70 Mon Sep 17 00:00:00 2001 From: matst80 Date: Sun, 10 Nov 2024 11:41:30 +0100 Subject: [PATCH] remove dead packages even if no new messages exist --- packet-queue.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packet-queue.go b/packet-queue.go index d3306dd..7cba212 100644 --- a/packet-queue.go +++ b/packet-queue.go @@ -43,14 +43,18 @@ func NewPacketQueue(connection net.Conn) *PacketQueue { queue.mu.Lock() now := time.Now().Add(-time.Millisecond * 500) + keepIndex := -1 for i, packet := range queue.Packets { if packet.Added.After(now) { - stillInQueue := queue.Packets[i:] - log.Printf("DEBUG: Requeueing %d packets\n", len(stillInQueue)) - queue.Packets = stillInQueue + keepIndex = i break } } + if keepIndex == -1 { + queue.Packets = queue.Packets[:0] + } else { + queue.Packets = queue.Packets[keepIndex:] + } queue.Packets = append(queue.Packets, PacketWithData{ MessageType: messageType, Added: ts,