// Copyright (C) 2025 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 using System; namespace QtVsTools { public class PunisherQueue : BasePriorityQueue { public PunisherQueue() { } public PunisherQueue(Func getItemKey) : base(getItemKey) { } /// /// Enqueue/re-queue moves item to back of the queue, effectively "punishing" items that /// were already in the queue. /// /// public void Enqueue(T item) { lock (CriticalSection) { Enqueue(item, Timestamp.Next()); } } } }