pub struct LockedExclusive<'wait_list, L: Lock, I, O> {
    pub guard: <L as Lifetime<'wait_list>>::ExclusiveGuard,
    /* private fields */
}
Expand description

An exclusive lock on a WaitList, created by WaitList::lock_exclusive.

Fields

guard: <L as Lifetime<'wait_list>>::ExclusiveGuard

The lock guard holding the lock on the WaitList.

You can use this field to access whatever auxiliary locked state you have associated with the WaitList.

Implementations

Retrieve a unique reference to the input given by the head entry in the list, if there is one.

Wait on the list for someone to call Self::wake_one.

This method takes ownership of self so that the lock can be released while the future is suspended. At the end, ownership of the lock guard is transferred back to the caller.

A callback must be supplied to call in the event that the future has been woken but was cancelled before it could complete. You will often want to re-call Self::wake_one in this case to pass on the notification to someone else.

Note that the returned future will not be Send if your guard types are !Send. To avoid this problem, use the lower-level Wait API instead.

Wake and dequeue the first waiter in the queue, if there is one.

Returns ownership of that waiter’s input value.

Errors

Returns an error and gives back the given output when there are no wakers in the list.

Methods from Deref<Target = LockedCommon<'wait_list, L, I, O>>

Check whether there are any futures waiting in this list.

Retrieve a shared reference to the input given by the head entry in the list, if there is one.

Trait Implementations

Formats the value using the given formatter. Read more

The resulting type after dereferencing.

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.