ratelimiter

package
v3.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2018 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HandlerFunc

type HandlerFunc func() error

HandlerFunc defines function signature for a RateLimitedFunction.

type RateLimitedFunction

type RateLimitedFunction struct {
	// Handler is the function to rate limit calls to.
	Handler HandlerFunc

	// Rate limiting configuration.
	flowcontrol.RateLimiter
	// contains filtered or unexported fields
}

RateLimitedFunction is a rate limited function controlling how often the function/handler is invoked.

func NewRateLimitedFunction

func NewRateLimitedFunction(keyFunc kcache.KeyFunc, interval int, handlerFunc HandlerFunc) *RateLimitedFunction

NewRateLimitedFunction creates a new rate limited function.

func (*RateLimitedFunction) Invoke

func (rlf *RateLimitedFunction) Invoke(resource interface{})

Invoke adds a request if its not already present and returns immediately unless the rate limited function is actually running, in which case it will block until the current run completes

func (*RateLimitedFunction) RunUntil

func (rlf *RateLimitedFunction) RunUntil(stopCh <-chan struct{})

RunUntil begins processes the resources from queue asynchronously until stopCh is closed.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL