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
Click to show internal directories.
Click to hide internal directories.