Last updated 2026-05-18
gRPC Service
The source of truth is quota/v1/quota.proto.
service QuotaService { rpc Consume(ConsumeRequest) returns (ConsumeResponse); rpc Reserve(ReserveRequest) returns (ReserveResponse); rpc IncrementReservation(IncrementReservationRequest) returns (IncrementReservationResponse); rpc FinalizeReservation(FinalizeReservationRequest) returns (FinalizeReservationResponse); rpc ReleaseReservation(ReleaseReservationRequest) returns (ReleaseReservationResponse); rpc AcquireLease(AcquireLeaseRequest) returns (AcquireLeaseResponse); rpc RenewLease(RenewLeaseRequest) returns (RenewLeaseResponse); rpc ReleaseLease(ReleaseLeaseRequest) returns (ReleaseLeaseResponse); rpc Explain(ExplainRequest) returns (ExplainResponse); rpc GetCurrentUsage(GetCurrentUsageRequest) returns (GetCurrentUsageResponse); rpc ValidateLimits(ValidateLimitsRequest) returns (ValidateLimitsResponse); rpc GetReservation(GetReservationRequest) returns (Reservation); rpc GetLease(GetLeaseRequest) returns (Lease); rpc GetRedisStatus(GetRedisStatusRequest) returns (RedisStatus);}Consume
Known-cost actions. If any limit denies, no counters are mutated.
Reserve and finalize
Estimated-cost actions. A reservation records exact Redis impact keys so
increment, finalization, and release do not recompute current windows.
Positive IncrementReservation deltas re-check stored impacts
atomically; negative deltas release refundable impacts.
Lease operations
Active concurrency through AcquireLease,
RenewLease, and ReleaseLease.
Inspection
Explain, GetCurrentUsage,
ValidateLimits, GetReservation,
GetLease, and GetRedisStatus are read-oriented
support RPCs.