skip queue timer
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m45s

This commit is contained in:
matst80
2024-11-09 22:54:30 +01:00
parent f66f1ef39f
commit b23a17a73c

View File

@@ -217,6 +217,13 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
} }
packetQueue.Inc() packetQueue.Inc()
queue.mu.Lock() queue.mu.Lock()
for i, packet := range queue.Packets {
if time.Since(packet.Added) < time.Second*5 {
queue.Packets = queue.Packets[i:]
packetQueue.Set(float64(len(queue.Packets)))
break
}
}
queue.Packets = append(queue.Packets, PacketWithData{ queue.Packets = append(queue.Packets, PacketWithData{
MessageType: messageType, MessageType: messageType,
Added: time.Now(), Added: time.Now(),
@@ -225,21 +232,6 @@ func NewPacketQueue(connection net.Conn) *PacketQueue {
queue.mu.Unlock() queue.mu.Unlock()
} }
}() }()
go func(queueTimer *time.Ticker) {
for {
<-queueTimer.C
queue.mu.Lock()
for i, packet := range queue.Packets {
if time.Since(packet.Added) < time.Second*3 {
queue.Packets = queue.Packets[i:]
packetQueue.Set(float64(len(queue.Packets)))
break
}
}
queue.mu.Unlock()
}
}(time.NewTicker(time.Second))
return queue return queue
} }