Documentation ¶
Index ¶
- type LimitState
- type RateLimiter
- type RateLimiterBackend
- type RedisBackend
- func (self *RedisBackend) Check()
- func (self *RedisBackend) GetState(resource []string, now time.Time) (LimitState, error)
- func (self *RedisBackend) Reserve(resource []string, slot time.Time)
- func (self *RedisBackend) ResetResource(resource []string)
- func (self *RedisBackend) SetLimit(resource []string, rps int64)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LimitState ¶
type RateLimiter ¶
func NewRateLimiter ¶
func NewRateLimiter(server string, password string) *RateLimiter
Create new RateLimiter
server: host:port of server password: "" if auth is not required
func (*RateLimiter) Check ¶
func (self *RateLimiter) Check()
func (*RateLimiter) ResetResource ¶
func (self *RateLimiter) ResetResource(resource []string)
func (*RateLimiter) SetLimit ¶
func (self *RateLimiter) SetLimit(resource []string, rps int64)
type RateLimiterBackend ¶
type RedisBackend ¶
type RedisBackend struct { Interval time.Duration ExpirationTime time.Duration // contains filtered or unexported fields }
Backend: redis
func NewRedisBackend ¶
func NewRedisBackend(server string, password string, interval time.Duration) *RedisBackend
func (*RedisBackend) Check ¶
func (self *RedisBackend) Check()
func (*RedisBackend) GetState ¶
func (self *RedisBackend) GetState(resource []string, now time.Time) (LimitState, error)
func (*RedisBackend) ResetResource ¶
func (self *RedisBackend) ResetResource(resource []string)
func (*RedisBackend) SetLimit ¶
func (self *RedisBackend) SetLimit(resource []string, rps int64)
Click to show internal directories.
Click to hide internal directories.