Documentation ¶
Overview ¶
Package throttle implements throttle strategies.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func OptCloseChan ¶
func OptCloseChan(c <-chan struct{}) func(*Type)
OptCloseChan sets a read-only channel that, if closed, will interrupt a retry throttle early.
func OptMaxExponentPeriod ¶
OptMaxExponentPeriod sets the maximum period of time that throttles will last when exponentially increasing.
func OptMaxUnthrottledRetries ¶
OptMaxUnthrottledRetries sets the maximum number of consecutive retries that will be attempted before throttling will begin.
func OptThrottlePeriod ¶
OptThrottlePeriod sets the static period of time that throttles will last.
Types ¶
type Type ¶
type Type struct {
// contains filtered or unexported fields
}
Type is a throttle of retries to avoid endless busy loops when a message fails to reach its destination.
func New ¶
New creates a new throttle, which permits a static number of consecutive retries before throttling subsequent retries. A success will reset the count of consecutive retries.
func (*Type) ExponentialRetry ¶
ExponentialRetry is the same as Retry except also sets the throttle period to exponentially increase after each consecutive retry.