limiter

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RateLimitInterceptor

func RateLimitInterceptor(limiter RateLimiter) grpc.UnaryServerInterceptor

RateLimitInterceptor 创建限流拦截器

Types

type RateLimiter

type RateLimiter interface {
	Allow() bool
	Wait(ctx context.Context) error
}

RateLimiter 限流器接口

type TokenBucketLimiter

type TokenBucketLimiter struct {
	// contains filtered or unexported fields
}

TokenBucketLimiter 令牌桶限流器

func NewTokenBucketLimiter

func NewTokenBucketLimiter(tokenRate float64, bucketSize int) *TokenBucketLimiter

NewTokenBucketLimiter 创建新的令牌桶限流器 @params tokenRate 令牌产生速率(每秒产生的令牌数) @params bucketSize 令牌桶容量(最大可存储的令牌数)

func (*TokenBucketLimiter) Allow

func (l *TokenBucketLimiter) Allow() bool

func (*TokenBucketLimiter) Wait

func (l *TokenBucketLimiter) Wait(ctx context.Context) error

Jump to

Keyboard shortcuts

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