Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SlidingWindowLimiter ¶ added in v0.58.0
type SlidingWindowLimiter struct {
// contains filtered or unexported fields
}
func NewSlidingWindowLimiter ¶ added in v0.58.0
func NewSlidingWindowLimiter(frequency_hz, buckets_count int) (*SlidingWindowLimiter, error)
func (*SlidingWindowLimiter) Close ¶ added in v0.58.0
func (sw *SlidingWindowLimiter) Close()
func (*SlidingWindowLimiter) TryGrant ¶ added in v0.58.0
func (sw *SlidingWindowLimiter) TryGrant() (bool, error)
TryGrant 非阻塞,直接在当前 goroutine 执行
type StaticLimiter ¶
type StaticLimiter struct {
// contains filtered or unexported fields
}
func NewStaticLimiter ¶
func NewStaticLimiter(interval time.Duration) *StaticLimiter
func (*StaticLimiter) GrantNextToken ¶
func (l *StaticLimiter) GrantNextToken()
func (*StaticLimiter) Reset ¶
func (l *StaticLimiter) Reset(interval time.Duration)
func (*StaticLimiter) Stop ¶
func (l *StaticLimiter) Stop()
type TokenBucket ¶ added in v0.56.0
type TokenBucket struct {
// contains filtered or unexported fields
}
func NewTokenBucket ¶ added in v0.56.0
func NewTokenBucket(capacity int, interval time.Duration) *TokenBucket
NewTokenBucket 创建令牌桶限流器 capacity: 桶容量(最大令牌数) interval: 令牌生成時間interval(令牌/秒)
func (*TokenBucket) Close ¶ added in v0.56.0
func (tb *TokenBucket) Close()
func (*TokenBucket) Grant ¶ added in v0.56.0
func (tb *TokenBucket) Grant(ctx context.Context) error
func (*TokenBucket) TryGrant ¶ added in v0.56.0
func (tb *TokenBucket) TryGrant() (bool, error)
Click to show internal directories.
Click to hide internal directories.