pub struct ThrottleRequest {
pub key: String,
pub max_burst: i64,
pub count_per_period: i64,
pub period: i64,
pub quantity: i64,
pub timestamp: SystemTime,
}Expand description
Internal rate limit request structure
This is the common request format used by all transports after parsing their protocol-specific formats.
§Fields
key: Unique identifier for the rate limit (e.g., “user:123”, “api:endpoint”)max_burst: Maximum tokens available at once (burst capacity)count_per_period: Total tokens replenished per periodperiod: Time period in seconds for token replenishmentquantity: Number of tokens to consume (typically 1)timestamp: Request timestamp for consistent rate limiting
Fields§
§key: StringThe key to rate limit (e.g., “user:123”, “ip:192.168.1.1”)
max_burst: i64Maximum burst capacity (tokens available at once)
count_per_period: i64Tokens replenished per period
period: i64Period in seconds for token replenishment
quantity: i64Number of tokens to consume (default: 1)
timestamp: SystemTimeRequest timestamp for consistent rate limiting
Trait Implementations§
Source§impl Clone for ThrottleRequest
impl Clone for ThrottleRequest
Source§fn clone(&self) -> ThrottleRequest
fn clone(&self) -> ThrottleRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ThrottleRequest
impl RefUnwindSafe for ThrottleRequest
impl Send for ThrottleRequest
impl Sync for ThrottleRequest
impl Unpin for ThrottleRequest
impl UnwindSafe for ThrottleRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request