limiter

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2022 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PluginLimiter

type PluginLimiter struct {
	Key string // 插件Key,仅做log所用
	// contains filtered or unexported fields
}

PluginLimiter 插件级限流器,可以区分用户地管理插件的CD限流

func NewPluginLimiter

func NewPluginLimiter(cd time.Duration, burst int) *PluginLimiter

NewPluginLimiter 新建PluginLimiter用于单个插件的限流

func (*PluginLimiter) Allow

func (pl *PluginLimiter) Allow(key int64) (bool, time.Duration)

Allow 判断指定用户(key)能否拿到令牌

func (*PluginLimiter) GetCD

func (pl *PluginLimiter) GetCD() time.Duration

GetCD 获取当前CD

func (*PluginLimiter) ResetCD

func (pl *PluginLimiter) ResetCD(cd time.Duration)

ResetCD 重置PluginLimiter的CD时间长度

Directories

Path Synopsis
Package rate provides a rate limiter.
Package rate provides a rate limiter.

Jump to

Keyboard shortcuts

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