Struct concurrency_traits::CustomMutex [−][src]
pub struct CustomMutex<T, M: ?Sized> { /* fields omitted */ }
A Mutex based on a given RawTryMutex
Implementations
impl<T, M> CustomMutex<T, M>
[src]
impl<T, M> CustomMutex<T, M>
[src]Trait Implementations
impl<'a, T, M> AsyncMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncMutex + 'a,
[src]
impl<'a, T, M> AsyncMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncMutex + 'a,
[src]type AsyncGuard = CustomMutexGuard<'a, T, M>
The guard for this async mutex
type LockFuture = Pin<Box<dyn Future<Output = Self::AsyncGuard> + 'a>>
The future that the AsyncMutex::lock_async
function returns
fn lock_async(&'a self) -> Self::LockFuture
[src]
impl<'a, T, M> AsyncMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncMutex + 'a,
[src]
impl<'a, T, M> AsyncMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncMutex + 'a,
[src]impl<'a, T, M> AsyncTimeoutMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncTimeoutMutex + 'a,
[src]
impl<'a, T, M> AsyncTimeoutMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncTimeoutMutex + 'a,
[src]type LockTimeoutFuture = Pin<Box<dyn Future<Output = Option<Self::AsyncGuard>> + 'a>>
The future returned by lock_timeout_async
fn lock_timeout_async(&'a self, timeout: Duration) -> Self::LockTimeoutFuture
[src]
impl<'a, T, M> AsyncTimeoutMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncTimeoutMutex + 'a,
[src]
impl<'a, T, M> AsyncTimeoutMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawAsyncTimeoutMutex + 'a,
[src]impl<T, M> Default for CustomMutex<T, M> where
T: Default,
M: Default,
[src]
impl<T, M> Default for CustomMutex<T, M> where
T: Default,
M: Default,
[src]impl<'a, T, M> Mutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawMutex + 'a,
[src]
impl<'a, T, M> Mutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawMutex + 'a,
[src]impl<'a, T, M> MutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawMutex + 'a,
[src]
impl<'a, T, M> MutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawMutex + 'a,
[src]impl<T, M> Sync for CustomMutex<T, M> where
T: Send,
M: Sync,
[src]
impl<T, M> Sync for CustomMutex<T, M> where
T: Send,
M: Sync,
[src]impl<'a, T, M> TimeoutMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTimeoutMutex + 'a,
[src]
impl<'a, T, M> TimeoutMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTimeoutMutex + 'a,
[src]fn lock_timeout(&'a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'a, T, M> TimeoutMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTimeoutMutex + 'a,
[src]
impl<'a, T, M> TimeoutMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTimeoutMutex + 'a,
[src]impl<'a, T, M> TryMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTryMutex + 'a,
[src]
impl<'a, T, M> TryMutex<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTryMutex + 'a,
[src]impl<'a, T, M> TryMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTryMutex + 'a,
[src]
impl<'a, T, M> TryMutexSized<'a> for CustomMutex<T, M> where
T: 'a,
M: RawTryMutex + 'a,
[src]fn try_lock_func<O>(
&'a self,
func: impl FnOnce(Option<&mut Self::Item>) -> O
) -> O
[src]
&'a self,
func: impl FnOnce(Option<&mut Self::Item>) -> O
) -> O
Auto Trait Implementations
impl<T, M> !RefUnwindSafe for CustomMutex<T, M>
impl<T, M> !RefUnwindSafe for CustomMutex<T, M>
impl<T, M: ?Sized> Send for CustomMutex<T, M> where
M: Send,
T: Send,
impl<T, M: ?Sized> Send for CustomMutex<T, M> where
M: Send,
T: Send,
impl<T, M: ?Sized> Unpin for CustomMutex<T, M> where
M: Unpin,
T: Unpin,
impl<T, M: ?Sized> Unpin for CustomMutex<T, M> where
M: Unpin,
T: Unpin,
impl<T, M: ?Sized> UnwindSafe for CustomMutex<T, M> where
M: UnwindSafe,
T: UnwindSafe,
impl<T, M: ?Sized> UnwindSafe for CustomMutex<T, M> where
M: UnwindSafe,
T: UnwindSafe,