(l, r int, expiryTime int64)
| 83 | } |
| 84 | |
| 85 | func (ws *workerStack) binarySearch(l, r int, expiryTime int64) int { |
| 86 | for l <= r { |
| 87 | mid := l + ((r - l) >> 1) // avoid overflow when computing mid |
| 88 | if expiryTime < ws.items[mid].lastUsedTime() { |
| 89 | r = mid - 1 |
| 90 | } else { |
| 91 | l = mid + 1 |
| 92 | } |
| 93 | } |
| 94 | return r |
| 95 | } |
| 96 | |
| 97 | func (ws *workerStack) reset() { |
| 98 | for i := 0; i < ws.len(); i++ { |