Skip to main content

LeaseState

Enum LeaseState 

Source
pub enum LeaseState<K, Route> {
    Vacant {
        next: TimerGeneration,
    },
    Held {
        holder: K,
        generation: TimerGeneration,
        notify: Route,
        next: Option<TimerGeneration>,
    },
    Exhausted,
}
Expand description

Complete exclusive lease phase.

Variants§

§

Vacant

No holder owns the lease.

Fields

§next: TimerGeneration

Generation committed by the next successful acquisition.

§

Held

One holder owns exactly this timer generation.

Fields

§holder: K

Application-defined holder identity.

§generation: TimerGeneration

Current expiry generation.

§notify: Route

Recipient notified of expiry.

§next: Option<TimerGeneration>

Generation available to a renewal or later acquisition. None means this held generation is the final representable one.

§

Exhausted

No fresh expiry generation is representable and no holder exists.

Auto Trait Implementations§

§

impl<K, Route> Freeze for LeaseState<K, Route>
where K: Freeze, Route: Freeze,

§

impl<K, Route> RefUnwindSafe for LeaseState<K, Route>
where K: RefUnwindSafe, Route: RefUnwindSafe,

§

impl<K, Route> Send for LeaseState<K, Route>
where K: Send, Route: Send,

§

impl<K, Route> Sync for LeaseState<K, Route>
where K: Sync, Route: Sync,

§

impl<K, Route> Unpin for LeaseState<K, Route>
where K: Unpin, Route: Unpin,

§

impl<K, Route> UnsafeUnpin for LeaseState<K, Route>
where K: UnsafeUnpin, Route: UnsafeUnpin,

§

impl<K, Route> UnwindSafe for LeaseState<K, Route>
where K: UnwindSafe, Route: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.