68
subqueue subqueueIndex,
69
initialAckLevel int64,
71
>
return &priTaskReader{
72
>
backlogMgr: backlogMgr,
73
>
subqueue: subqueue,
74
>
notifyC: make(chan struct{}, 1),
75
>
logger: backlogMgr.logger,
76
>
retrier: backoff.NewRetrier(
77
>
common.CreateReadTaskRetryPolicy(),
78
>
clock.NewRealTimeSource(),
79
>
),
80
>
backlogAge: newBacklogAgeTracker(),
81
>
addRetries: semaphore.NewWeighted(concurrentAddRetries),
82
>
83
>
// ack manager
84
>
outstandingTasks: treemap.NewWith(godsutils.Int64Comparator),
85
>
readLevel: initialAckLevel,
86
>
ackLevel: initialAckLevel,
87
>
88
>
// gc state
89
>
lastGCTime: time.Now(),
90
>
}
91
>
}
92
93
// Start priTaskReader background goroutines.