Struct tower::retry::budget::Budget [−][src]
pub struct Budget { /* fields omitted */ }
retry
only.Expand description
Represents a “budget” for retrying requests.
This is useful for limiting the amount of retries a service can perform over a period of time, or per a certain number of requests attempted.
Implementations
Create a Budget
that allows for a certain percent of the total
requests to be retried.
-
The
ttl
is the duration of how long a singledeposit
should be considered. Must be between 1 and 60 seconds. -
The
min_per_sec
is the minimum rate of retries allowed to accomodate clients that have just started issuing requests, or clients that do not issue many requests per window. -
The
retry_percent
is the percentage of calls todeposit
that can be retried. This is in addition to any retries allowed for viamin_per_sec
. Must be between 0 and 1000.As an example, if
0.1
is used, then for every 10 calls todeposit
, 1 retry will be allowed. If2.0
is used, then everydeposit
allows for 2 retries.
Store a “deposit” in the budget, which will be used to permit future withdrawals.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Budget
impl UnwindSafe for Budget
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more