Documentation
¶
Index ¶
Constants ¶
View Source
const ( ReasonBurst = "burst" ReasonQuota = "quota" )
Variables ¶
ErrUnavailable is retained for transport mapping (HTTP 503 / JSON-RPC -32005). TrustGate Check fails open on entitlement load errors (including missing gateways); callers that still return this error map it to 503.
View Source
var ErrUnmetered = errors.New("rate limit entitlements unmetered")
ErrUnmetered means the gateway has no stamped plan caps. Hot-path Check skips commercial rate limiting (OSS / self-hosted).
Functions ¶
func RetryAfterSeconds ¶
RetryAfterSeconds rounds a retry duration up to whole seconds.
Types ¶
type Checker ¶
func NewChecker ¶
func NewChecker(tiers GatewayTierLoader, counter Counter, logger *slog.Logger) Checker
NewChecker builds the plan rate limiter (fail-open on Redis errors).
func NewNoopChecker ¶
func NewNoopChecker() Checker
type GatewayTierLoader ¶
type GatewayTierLoader interface {
Limits(ctx context.Context, gatewayID ids.GatewayID) (domain.Limits, error)
}
func NewGatewayTierLoader ¶
func NewGatewayTierLoader(finder appgateway.Finder) GatewayTierLoader
NewGatewayTierLoader prefers the gateway on ctx over Finder.
Click to show internal directories.
Click to hide internal directories.