pub struct RedLockTimeouts {
pub expiry: Duration,
pub min_validity: Duration,
}Expand description
Timeout configuration for RedLock algorithm.
Calculates acquire timeout based on expiry and minimum validity time.
Fields§
§expiry: DurationLock expiry time (TTL set on Redis keys).
min_validity: DurationMinimum validity time required after acquisition.
This accounts for clock drift in multi-server scenarios.
Implementations§
Source§impl RedLockTimeouts
impl RedLockTimeouts
Sourcepub fn new(expiry: Duration, min_validity: Duration) -> RedLockTimeouts
pub fn new(expiry: Duration, min_validity: Duration) -> RedLockTimeouts
Creates a new timeout configuration.
Sourcepub fn acquire_timeout(&self) -> TimeoutValue
pub fn acquire_timeout(&self) -> TimeoutValue
Calculates the acquire timeout.
This is the maximum time we can spend acquiring the lock while still
ensuring at least min_validity time remains on the lock after acquisition.
Trait Implementations§
Source§impl Clone for RedLockTimeouts
impl Clone for RedLockTimeouts
Source§fn clone(&self) -> RedLockTimeouts
fn clone(&self) -> RedLockTimeouts
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 RedLockTimeouts
impl RefUnwindSafe for RedLockTimeouts
impl Send for RedLockTimeouts
impl Sync for RedLockTimeouts
impl Unpin for RedLockTimeouts
impl UnwindSafe for RedLockTimeouts
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more