package
1.5.1
Repository: https://github.com/kpanduga/testorigin.git
Documentation: pkg.go.dev

# Packages

Package shared provides reusable support for shared informer implementations.

# Functions

NewQueueRetryManager safely creates a new QueueRetryManager.
NewScheduler creates a scheduler with bucketCount buckets, a rate limiter for restricting the rate at which buckets are processed, and a function to invoke when items are scanned in a bucket.
RetryNever is a RetryFunc implementation that will always retry.
RetryNever is a RetryFunc implementation that will never retry.

# Structs

QueueRetryManager retries a resource by re-queueing it into a ReQueue as long as retryFunc returns true.
Retry describes provides additional information regarding retries.
RetryController is a RunnableController which delegates resource handling to a function and knows how to safely manage retries of a resource which failed to be successfully handled.
Scheduler is a self-balancing, rate-limited, bucketed queue that can periodically invoke an action on all items in a bucket before moving to the next bucket.

# Interfaces

Queue is a narrow abstraction of a cache.FIFO.
ReQueue is a queue that allows an object to be requeued.
RetryManager knows how to retry processing of a resource, and how to forget a resource it may be tracking the state of.
RunnableController is a controller which implements a Run loop.
StoppableController is a controller which implements a Run loop.

# Type aliases

RetryFunc should return true if the given object and error should be retried after the provided number of times.