kubernetes/staging/src/k8s.io/client-go/util/workqueue/default_rate_limiters.go

type RateLimiter

type TypedRateLimiter

// DefaultControllerRateLimiter is a no-arg constructor for a default rate limiter for a workqueue.  It has
// both overall and per-item rate limiting.  The overall is a token bucket and the per-item is exponential
//
// Deprecated: Use DefaultTypedControllerRateLimiter instead.
func DefaultControllerRateLimiter() RateLimiter {}

// DefaultTypedControllerRateLimiter is a no-arg constructor for a default rate limiter for a workqueue.  It has
// both overall and per-item rate limiting.  The overall is a token bucket and the per-item is exponential
func DefaultTypedControllerRateLimiter[T comparable]() TypedRateLimiter[T] {}

type BucketRateLimiter

type TypedBucketRateLimiter

var _

func (r *TypedBucketRateLimiter[T]) When(item T) time.Duration {}

func (r *TypedBucketRateLimiter[T]) NumRequeues(item T) int {}

func (r *TypedBucketRateLimiter[T]) Forget(item T) {}

type ItemExponentialFailureRateLimiter

type TypedItemExponentialFailureRateLimiter

var _

// Deprecated: NewItemExponentialFailureRateLimiter is deprecated, use NewTypedItemExponentialFailureRateLimiter instead.
func NewItemExponentialFailureRateLimiter(baseDelay time.Duration, maxDelay time.Duration) RateLimiter {}

func NewTypedItemExponentialFailureRateLimiter[T comparable](baseDelay time.Duration, maxDelay time.Duration) TypedRateLimiter[T] {}

// Deprecated: DefaultItemBasedRateLimiter is deprecated, use DefaultTypedItemBasedRateLimiter instead.
func DefaultItemBasedRateLimiter() RateLimiter {}

func DefaultTypedItemBasedRateLimiter[T comparable]() TypedRateLimiter[T] {}

func (r *TypedItemExponentialFailureRateLimiter[T]) When(item T) time.Duration {}

func (r *TypedItemExponentialFailureRateLimiter[T]) NumRequeues(item T) int {}

func (r *TypedItemExponentialFailureRateLimiter[T]) Forget(item T) {}

type ItemFastSlowRateLimiter

type TypedItemFastSlowRateLimiter

var _

// Deprecated: NewItemFastSlowRateLimiter is deprecated, use NewTypedItemFastSlowRateLimiter instead.
func NewItemFastSlowRateLimiter(fastDelay, slowDelay time.Duration, maxFastAttempts int) RateLimiter {}

func NewTypedItemFastSlowRateLimiter[T comparable](fastDelay, slowDelay time.Duration, maxFastAttempts int) TypedRateLimiter[T] {}

func (r *TypedItemFastSlowRateLimiter[T]) When(item T) time.Duration {}

func (r *TypedItemFastSlowRateLimiter[T]) NumRequeues(item T) int {}

func (r *TypedItemFastSlowRateLimiter[T]) Forget(item T) {}

type MaxOfRateLimiter

type TypedMaxOfRateLimiter

func (r *TypedMaxOfRateLimiter[T]) When(item T) time.Duration {}

// Deprecated: NewMaxOfRateLimiter is deprecated, use NewTypedMaxOfRateLimiter instead.
func NewMaxOfRateLimiter(limiters ...TypedRateLimiter[any]) RateLimiter {}

func NewTypedMaxOfRateLimiter[T comparable](limiters ...TypedRateLimiter[T]) TypedRateLimiter[T] {}

func (r *TypedMaxOfRateLimiter[T]) NumRequeues(item T) int {}

func (r *TypedMaxOfRateLimiter[T]) Forget(item T) {}

type WithMaxWaitRateLimiter

type TypedWithMaxWaitRateLimiter

// Deprecated: NewWithMaxWaitRateLimiter is deprecated, use NewTypedWithMaxWaitRateLimiter instead.
func NewWithMaxWaitRateLimiter(limiter RateLimiter, maxDelay time.Duration) RateLimiter {}

func NewTypedWithMaxWaitRateLimiter[T comparable](limiter TypedRateLimiter[T], maxDelay time.Duration) TypedRateLimiter[T] {}

func (w TypedWithMaxWaitRateLimiter[T]) When(item T) time.Duration {}

func (w TypedWithMaxWaitRateLimiter[T]) Forget(item T) {}

func (w TypedWithMaxWaitRateLimiter[T]) NumRequeues(item T) int {}