in pipeline/senders/retry.go [76:90]
func newRetryingSender(endpoint pipeline.Endpoint, persistence persistence.Persistence, recorder stats.Recorder, clock clock.Clock, minDelay, maxDelay time.Duration) *RetryingSender {
rs := &RetryingSender{
endpoint: endpoint,
queue: persistence.Queue(persistenceName(endpoint.Name())),
recorder: recorder,
clock: clock,
minDelay: minDelay,
maxDelay: maxDelay,
add: make(chan addMsg, 1),
}
endpoint.Use()
rs.wait.Add(1)
go rs.run(clock.Now())
return rs
}