Versions in this module Expand all Collapse all v1 v1.1.0 Apr 6, 2022 v1.0.0 Mar 23, 2022 Changes in this version + const LeakyBucketTyp + const SildingWindowTyp + var ErrRateLimited error = errors.New("rate limited") + type LeakyBucketRateLimiter struct + func NewLeakyBucketRateLimiter(qpsThreshold int64) *LeakyBucketRateLimiter + func (lbrl *LeakyBucketRateLimiter) ChangeQpsThreshold(newQpsThreshold int64) + func (lbrl *LeakyBucketRateLimiter) Close() + func (lbrl *LeakyBucketRateLimiter) Limit() error + type Limiter interface + ChangeQpsThreshold func(newQpsThreshold int64) + Close func() + Limit func() error + func NewLimiter(qpsThreshold int64, limiterTyp string) (Limiter, error) + type SlidingWindowRateLimiter struct + func NewSlidingWindowRateLimiter(qpsThreshold int64) *SlidingWindowRateLimiter + func (swrl *SlidingWindowRateLimiter) ChangeQpsThreshold(newQpsThreshold int64) + func (swrl *SlidingWindowRateLimiter) Close() + func (swrl *SlidingWindowRateLimiter) Limit() error