Versions in this module Expand all Collapse all v2 v2.0.1 Jun 18, 2026 v2.0.0 Mar 16, 2026 Changes in this version + const K + const MinRPS + const StandardPriorities + var ErrClientSideRejection = errors.New("bulwark: client-side rejection") + func DefaultRejectedErrorFunc(err error) bool + func RejectedError(err error) error + func Throttle[T any](ctx context.Context, at *AdaptiveThrottle, defaultPriority Priority, ...) (res T, err error) + func WithPriority(ctx context.Context, priority Priority) context.Context + type AdaptiveThrottle struct + func NewAdaptiveThrottle(priorities int, options ...AdaptiveThrottleOption) *AdaptiveThrottle + func (t *AdaptiveThrottle) Throttle(ctx context.Context, defaultPriority Priority, fn throttledFn, ...) error + type AdaptiveThrottleOption struct + func WithAdaptiveThrottleMinimumRate(x float64) AdaptiveThrottleOption + func WithAdaptiveThrottleRatio(k float64) AdaptiveThrottleOption + func WithAdaptiveThrottleWindow(d time.Duration) AdaptiveThrottleOption + func WithClientSideRejectionError(err error) AdaptiveThrottleOption + func WithNow(fn func() time.Time) AdaptiveThrottleOption + func WithPriorityValidator(fn func(p Priority, priorities int) (Priority, error)) AdaptiveThrottleOption + func WithRandomSource(src rand.Source) AdaptiveThrottleOption + func WithRejectedErrorFunc(fn func(error) bool) AdaptiveThrottleOption + type Priority int8 + const High + const Important + const Low + const Medium + func AssertValidPriority(p Priority, priorities int) (Priority, error) + func ClampInvalidPriority(p Priority, priorities int) (Priority, error) + func PriorityFromContext(ctx context.Context, defaultPriority Priority) Priority + func RejectInvalidPriority(p Priority, priorities int) (Priority, error) Other modules containing this package github.com/deixis/bulwark