Trait concurrency_traits::TimeoutMutex [−][src]
pub trait TimeoutMutex<'a>: TryMutex<'a> { fn lock_timeout(&'a self, timeout: Duration) -> Option<Self::Guard>; }
A mutex that can timeout for locking
Implementation
It is recommended to implement TimeoutMutexSized
if the implement-ee can
be sized.
Required methods
fn lock_timeout(&'a self, timeout: Duration) -> Option<Self::Guard>
[src]
Locks the mutex blocking for timeout or until locked
Implementations on Foreign Types
impl<'__a, 'a, T: ?Sized> TimeoutMutex<'__a> for &'a T where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, 'a, T: ?Sized> TimeoutMutex<'__a> for &'a T where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, 'a, T: ?Sized> TimeoutMutex<'__a> for &'a mut T where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, 'a, T: ?Sized> TimeoutMutex<'__a> for &'a mut T where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for ManuallyDrop<T> where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for ManuallyDrop<T> where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, T> TimeoutMutex<'__a> for AssertUnwindSafe<T> where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, T> TimeoutMutex<'__a> for AssertUnwindSafe<T> where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for Rc<T> where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for Rc<T> where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for Arc<T> where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for Arc<T> where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for Box<T> where
T: TimeoutMutex<'__a>,
[src]
impl<'__a, T: ?Sized> TimeoutMutex<'__a> for Box<T> where
T: TimeoutMutex<'__a>,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'__a, 'a, T> TimeoutMutex<'__a> for Cow<'a, T> where
T: TimeoutMutex<'__a> + Clone,
[src]
impl<'__a, 'a, T> TimeoutMutex<'__a> for Cow<'a, T> where
T: TimeoutMutex<'__a> + Clone,
[src]fn lock_timeout(&'__a self, timeout: Duration) -> Option<Self::Guard>
[src]
impl<'a, T> TimeoutMutex<'a> for Pin<T> where
T: Deref,
T::Target: TimeoutMutex<'a>,
[src]
impl<'a, T> TimeoutMutex<'a> for Pin<T> where
T: Deref,
T::Target: TimeoutMutex<'a>,
[src]fn lock_timeout(&'a self, timeout: Duration) -> Option<Self::Guard>
[src]
Implementors
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]