rate

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Limiter

type Limiter interface {
	Allow(key string) (bool, error)
}

Limiter limits operations based on a provided key.

func NewLocalRateLimiter

func NewLocalRateLimiter(limit rate.Limit) Limiter

NewRedisRateLimiter returns an in memory limiter.

func NewRedisRateLimiter

func NewRedisRateLimiter(limiter *redis_rate.Limiter, limit *redis_rate.Limit) Limiter

NewRedisRateLimiter returns a redis backed limiter.

type LimiterCtor

type LimiterCtor func(rate int) Limiter

LimiterCtor allows the creation of a Limiter using a provided rate.

type NoLimiter

type NoLimiter struct {
}

NoLimiter never limits operations

func (*NoLimiter) Allow

func (n *NoLimiter) Allow(key string) (bool, error)

Allow implements limiter.Allow.

Jump to

Keyboard shortcuts

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