diff options
| author | chrislu <chris.lu@gmail.com> | 2024-04-01 22:32:30 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2024-04-01 22:32:30 -0700 |
| commit | d935f70e3cf8a03e5d1b118ca70fd66470567435 (patch) | |
| tree | 5e6d44f55bf6b5bf1f9be9205b15775c0d429bb0 /weed/util/buffered_queue/buffered_queue.go | |
| parent | f07875e8e10cc39e789931c56695a9dda8e884df (diff) | |
| download | seaweedfs-d935f70e3cf8a03e5d1b118ca70fd66470567435.tar.xz seaweedfs-d935f70e3cf8a03e5d1b118ca70fd66470567435.zip | |
shutdown follower when leader stops
Diffstat (limited to 'weed/util/buffered_queue/buffered_queue.go')
| -rw-r--r-- | weed/util/buffered_queue/buffered_queue.go | 13 |
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() |
