limiter

package
v0.0.0-...-1411b96 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FixedWindowLimiter

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

func NewFixedWindow

func NewFixedWindow(concurrent int) *FixedWindowLimiter

func (*FixedWindowLimiter) Close

func (l *FixedWindowLimiter) Close()

func (*FixedWindowLimiter) ReleaseToken

func (l *FixedWindowLimiter) ReleaseToken()

func (*FixedWindowLimiter) TakeToken

func (l *FixedWindowLimiter) TakeToken()

func (*FixedWindowLimiter) TakeTokenNonBlocking

func (l *FixedWindowLimiter) TakeTokenNonBlocking() bool

func (*FixedWindowLimiter) TakeTokenWithTimeout

func (l *FixedWindowLimiter) TakeTokenWithTimeout(timeout time.Duration) bool

func (*FixedWindowLimiter) Wait

func (l *FixedWindowLimiter) Wait()

type Limiter

type Limiter interface {
	TakeToken()
	TakeTokenNonBlocking() bool
	TakeTokenWithTimeout(timeout time.Duration) bool
}

type TokenBucket

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

func NewTokenBucket

func NewTokenBucket(qos int) *TokenBucket

func (*TokenBucket) Close

func (l *TokenBucket) Close()

func (*TokenBucket) Startup

func (l *TokenBucket) Startup()

func (*TokenBucket) TakeToken

func (l *TokenBucket) TakeToken()

func (*TokenBucket) TakeTokenNonBlocking

func (l *TokenBucket) TakeTokenNonBlocking() bool

func (*TokenBucket) TakeTokenWithTimeout

func (l *TokenBucket) TakeTokenWithTimeout(timeout time.Duration) bool

type XTokenBucket

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

func NewXTokenBucket

func NewXTokenBucket(qos, burst int) *XTokenBucket

func (*XTokenBucket) TakeToken

func (x *XTokenBucket) TakeToken()

func (*XTokenBucket) TakeTokenNonBlocking

func (x *XTokenBucket) TakeTokenNonBlocking() bool

func (*XTokenBucket) TakeTokenWithTimeout

func (x *XTokenBucket) TakeTokenWithTimeout(timeout time.Duration) bool

Jump to

Keyboard shortcuts

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