Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/bradenaw/backpressure
/ types & classes
Types & classes
18 in github.com/bradenaw/backpressure
⨍
Functions
61
◇
Types & classes
18
↓ 6 callers
TypeAlias
Priority
Priority is the importance of a request. Types in this package prefer higher priority requests. Priorities are non-negative integers and are numbered
priority.go:25
Struct
AdaptiveThrottle
AdaptiveThrottle is used in a client to throttle requests to a backend as it becomes unhealthy to help it recover from overload more quickly. Because
adaptive_throttle.go:35
Struct
AdaptiveThrottleOption
Additional options for the AdaptiveThrottle type. These options do not frequently need to be tuned as the defaults work in a majority of cases.
adaptive_throttle.go:46
Struct
RateLimiter
RateLimiter is used to bound the rate of some operation. It is a token-bucket similar to golang.org/x/time/rate. Conceptually, it is a bucket of some
rate_limiter.go:37
Struct
RateLimiterOption
Additional options for the RateLimiter type. These options do not frequently need to be tuned as the defaults work in a majority of cases, but they're
rate_limiter.go:80
Struct
Semaphore
Semaphore is a way to bound concurrency and similar to golang.org/x/sync/semaphore. Conceptually, it is a bucket of some number of tokens. Callers can
semaphore.go:33
Struct
SemaphoreOption
Additional options for the Semaphore type. These options do not frequently need to be tuned as the defaults work in a majority of cases, but they're i
semaphore.go:58
Struct
adaptiveThrottleOptions
adaptive_throttle.go:50
Struct
codel
CoDel ("Controlled Delay") is a queue that adapts its behavior to load: healthy queues are for absorbing short-term spikes and are frequently emptied.
codel.go:18
TypeAlias
codelMode
codel.go:115
Struct
codelWaiter
codel.go:122
Struct
errAccepted
adaptive_throttle.go:17
Struct
linearDecay
linearDecay is a value in [0, max] that decays linearly towards zero over time.
decay.go:9
Struct
rateChange
rate_limiter.go:72
Struct
rateLimiterOptions
rate_limiter.go:82
Struct
rlWaiter
rate_limiter.go:67
Struct
semaphoreOptions
semaphore.go:60
Struct
windowedCounter
windowedCounter counts events in an approximate time window. It does this by splitting time into buckets of some width and removing buckets that are t
windowed_counter.go:9