mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-11-23 18:49:17 +08: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 New Issue
Block a user