mirror of
https://github.com/chrislusf/seaweedfs
synced 2024-05-20 18:31:53 +02:00
ensure head index is within range
This commit is contained in:
parent
253ec73a17
commit
a5645d50a7
|
@ -95,10 +95,16 @@ func (q *BufferedQueue[T]) Dequeue() (T, bool) {
|
|||
return a, false
|
||||
}
|
||||
|
||||
q.maybeAdjustHeadIndex()
|
||||
|
||||
job := q.head.items[q.head.headIndex]
|
||||
q.head.headIndex++
|
||||
q.count--
|
||||
|
||||
return job, true
|
||||
}
|
||||
|
||||
func (q *BufferedQueue[T]) maybeAdjustHeadIndex() {
|
||||
if q.head.headIndex == q.chunkSize {
|
||||
q.last.next = q.head
|
||||
q.head = q.head.next
|
||||
|
@ -113,8 +119,6 @@ func (q *BufferedQueue[T]) Dequeue() (T, bool) {
|
|||
// fmt.Printf("Node: %+v\n", p)
|
||||
//}
|
||||
}
|
||||
|
||||
return job, true
|
||||
}
|
||||
|
||||
func (q *BufferedQueue[T]) PeekHead() (T, bool) {
|
||||
|
@ -126,6 +130,8 @@ func (q *BufferedQueue[T]) PeekHead() (T, bool) {
|
|||
return a, false
|
||||
}
|
||||
|
||||
q.maybeAdjustHeadIndex()
|
||||
|
||||
job := q.head.items[q.head.headIndex]
|
||||
return job, true
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue