const progressRequestPeriod … func newConditionalProgressRequester(requestWatchProgress WatchProgressRequester, clock TickerFactory, contextMetadata metadata.MD) *conditionalProgressRequester { … } type WatchProgressRequester … type TickerFactory … type conditionalProgressRequester … func (pr *conditionalProgressRequester) Run(stopCh <-chan struct{ … } func (pr *conditionalProgressRequester) Add() { … } func (pr *conditionalProgressRequester) Remove() { … }