[−][src]Struct futures_intrusive::sync::GenericMutex
A futures-aware mutex.
Methods
impl<MutexType: RawMutex, T> GenericMutex<MutexType, T>
[src]
pub fn new(value: T, is_fair: bool) -> GenericMutex<MutexType, T>
[src]
Creates a new futures-aware mutex.
is_fair
defines whether the Mutex
should behave be fair regarding the
order of waiters. A fair Mutex
will only allow the first waiter which
tried to lock but failed to lock the Mutex
once it's available again.
Other waiters must wait until either this locking attempt completes, and
the Mutex
gets unlocked again, or until the MutexLockFuture
which
tried to gain the lock is dropped.
ⓘImportant traits for GenericMutexLockFuture<'a, MutexType, T>pub fn lock(&self) -> GenericMutexLockFuture<MutexType, T>
[src]
Acquire the mutex asynchronously.
This method returns a future that will resolve once the mutex has been successfully acquired.
pub fn try_lock(&self) -> Option<GenericMutexGuard<MutexType, T>>
[src]
Tries to acquire the mutex
If acquiring the mutex is successful, a GenericMutexGuard
will be returned, which allows to access the contained data.
Otherwise None
will be returned.
pub fn is_locked(&self) -> bool
[src]
Returns whether the mutex is locked.
Trait Implementations
impl<T: Send, MutexType: RawMutex + Sync> Sync for GenericMutex<MutexType, T>
[src]
impl<T: Send, MutexType: RawMutex + Send> Send for GenericMutex<MutexType, T>
[src]
impl<MutexType: RawMutex, T: Debug> Debug for GenericMutex<MutexType, T>
[src]
Auto Trait Implementations
impl<MutexType, T> Unpin for GenericMutex<MutexType, T> where
MutexType: Unpin,
T: Unpin,
MutexType: Unpin,
T: Unpin,
impl<MutexType, T> UnwindSafe for GenericMutex<MutexType, T> where
MutexType: UnwindSafe,
T: UnwindSafe,
MutexType: UnwindSafe,
T: UnwindSafe,
impl<MutexType, T> !RefUnwindSafe for GenericMutex<MutexType, T>
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,