limiter

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2025 License: Unlicense Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	RPS   int `envconfig:"RATE_LIMIT_RPS" default:"0"`   // 0 means disabled
	Burst int `envconfig:"RATE_LIMIT_BURST" default:"0"` // 0 means use RPS
}

Config holds rate limiter configuration

type RateLimiter

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

RateLimiter wraps the token bucket limiter

func NewRateLimiter

func NewRateLimiter(cfg Config) *RateLimiter

NewRateLimiter creates a new rate limiter

func (*RateLimiter) StreamInterceptor

func (l *RateLimiter) StreamInterceptor() grpc.StreamServerInterceptor

StreamInterceptor returns a gRPC stream interceptor

func (*RateLimiter) UnaryInterceptor

func (l *RateLimiter) UnaryInterceptor() grpc.UnaryServerInterceptor

UnaryInterceptor returns a gRPC unary interceptor

Jump to

Keyboard shortcuts

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