Trait concurrency_traits::mutex::AsyncTimeoutMutex[][src]

pub trait AsyncTimeoutMutex<'a>: AsyncMutex<'a> {
    #[must_use]
    fn lock_timeout_async<'async_trait>(
        &'a self,
        timeout: Duration
    ) -> Pin<Box<dyn Future<Output = Option<Self::Guard>> + Send + 'async_trait>>
    where
        'a: 'async_trait,
        Self: 'async_trait
; }
Expand description

An async mutex that locking can timeout on.

Required methods

#[must_use]
fn lock_timeout_async<'async_trait>(
    &'a self,
    timeout: Duration
) -> Pin<Box<dyn Future<Output = Option<Self::Guard>> + Send + 'async_trait>> where
    'a: 'async_trait,
    Self: 'async_trait, 
[src]

Locks the mutex asynchronously with a timeout.

Implementors

impl<'a, T, M> AsyncTimeoutMutex<'a> for CustomMutex<T, M> where
    T: 'a + Send,
    M: RawAsyncTimeoutMutex + 'a + Send + Sync
[src]

fn lock_timeout_async<'async_trait>(
    &'a self,
    timeout: Duration
) -> Pin<Box<dyn Future<Output = Option<Self::Guard>> + Send + 'async_trait>> where
    'a: 'async_trait,
    Self: 'async_trait, 
[src]