aboutsummaryrefslogtreecommitdiff
path: root/weed/util/buffered_queue/buffered_queue.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/util/buffered_queue/buffered_queue.go')
-rw-r--r--weed/util/buffered_queue/buffered_queue.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/weed/util/buffered_queue/buffered_queue.go b/weed/util/buffered_queue/buffered_queue.go
index edaa0a7ce..042561cdd 100644
--- a/weed/util/buffered_queue/buffered_queue.go
+++ b/weed/util/buffered_queue/buffered_queue.go
@@ -117,6 +117,19 @@ func (q *BufferedQueue[T]) Dequeue() (T, bool) {
return job, true
}
+func (q *BufferedQueue[T]) PeekHead() (T, bool) {
+ q.mutex.Lock()
+ defer q.mutex.Unlock()
+
+ if q.count <= 0 {
+ var a T
+ return a, false
+ }
+
+ job := q.head.items[q.head.headIndex]
+ return job, true
+}
+
// Size returns the number of items in the queue
func (q *BufferedQueue[T]) Size() int {
q.mutex.Lock()