Versions in this module Expand all Collapse all v1 v1.2.10 Dec 12, 2025 Changes in this version + func EstimateETA(startTime time.Time, progress, end uint64) time.Duration + func ProgressFromHash(b []byte) uint64 + func StoppedTimer() *time.Timer + 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.RequestID, measureLatency bool, timeoutHandler func()) + Remove func(id ids.RequestID) + Stop func() + TimeoutDuration func() time.Duration + func NewAdaptiveTimeoutManager(config *AdaptiveTimeoutConfig, registry metric.Registry) (AdaptiveTimeoutManager, error) + type EtaTracker struct + func NewEtaTracker(samples int, alpha float64) *EtaTracker + func (e *EtaTracker) AddSample(progress, total uint64, sampleTime time.Time) (*time.Duration, float64) + func (e *EtaTracker) ETA(progress, total uint64) time.Duration + func (e *EtaTracker) Update(progress, total uint64) + type Meter interface + Tick func() + Ticks func() int + 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()