418
// (2) Note these values are *AllocatedTaskInfo.
419
for _, t := range tasks {
421
>
if !tr.ackLevel.less(level) {
422
// Reads may race with completes/acks such that we read some tasks that are already
423
// acked. We should ignore these.
424
continue
425
>
} else if mode == mergeWrite && !tr.atEnd && tr.readLevel.less(level) {
fair_task_reader.go
426
// If we're writing and we're not at the end, then we have to ignore tasks
427
// above readLevel since we don't know what's in between readLevel and there.
428
continue
430
// If write/read race or we have to re-read a range, we may read something we had
431
// already added to the matcher or acked. Ignore tasks we already have.