Versions in this module Expand all Collapse all v1 v1.5.2 Nov 12, 2026 v1.5.1 Nov 10, 2026 Changes in this version + var ErrTimeout = errors.New("execution timed out") + func Retry(fn func() error, opts ...RetryOption) error + func RunTimeout[T any](timeout time.Duration, fn func(tk *Tracker) (T, error)) (T, error) + type Debouncer struct + func NewDebouncer(interval time.Duration, callback func()) *Debouncer + func (d *Debouncer) Trigger() + type Lap struct + At time.Time + Duration time.Duration + Label string + type RetryOption func(*RetryOptions) + func WithBackoff(d time.Duration, factor float64) RetryOption + func WithMaxRetries(n int) RetryOption + type RetryOptions struct + Backoff time.Duration + Factor float64 + MaxRetries int + type Task struct + type Throttler struct + func NewThrottler(interval time.Duration, callback func()) *Throttler + func (t *Throttler) Trigger() + type TimeWheel struct + func NewTimeWheel(interval time.Duration, size int) *TimeWheel + func (tw *TimeWheel) AfterFunc(delay time.Duration, callback func()) *Task + func (tw *TimeWheel) Start() + func (tw *TimeWheel) Stop() + type Tracker struct + func Start() *Tracker + func (t *Tracker) Describe() string + func (t *Tracker) Record(label string) time.Duration + func (t *Tracker) Stop() time.Duration + func (t *Tracker) Summarize() []Lap