Versions in this module Expand all Collapse all v0 v0.0.15 Sep 23, 2022 v0.0.14 Sep 23, 2022 Changes in this version + func EstimateETA(startTime time.Time, progress, end uint64) time.Duration + type AdaptiveTimeoutConfig struct + InitialTimeout time.Duration + MaximumTimeout time.Duration + MinimumTimeout time.Duration + TimeoutCoefficient float64 + TimeoutHalflife time.Duration + type AdaptiveTimeoutManager interface + Dispatch func() + ObserveLatency func(latency time.Duration) + Put func(id ids.ID, op message.Op, timeoutHandler func()) + Remove func(id ids.ID) + Stop func() + TimeoutDuration func() time.Duration + func NewAdaptiveTimeoutManager(config *AdaptiveTimeoutConfig, metricsNamespace string, ...) (AdaptiveTimeoutManager, error) + type Meter interface + Tick func() + Ticks func() int + type TimeoutManager struct + func (tm *TimeoutManager) Dispatch() + func (tm *TimeoutManager) Initialize(duration time.Duration) + func (tm *TimeoutManager) Put(id ids.ID, handler func()) + func (tm *TimeoutManager) Remove(id ids.ID) + func (tm *TimeoutManager) Stop() + func (tm *TimeoutManager) Timeout() + type Timer struct + func NewStagedTimer(f func() (time.Duration, bool)) *Timer + func NewTimer(handler func()) *Timer + func (t *Timer) Cancel() + func (t *Timer) Dispatch() + func (t *Timer) SetTimeoutIn(duration time.Duration) + func (t *Timer) Stop()