Trait concurrency_traits::rw_lock::AsyncTimeoutRwLock[][src]

pub trait AsyncTimeoutRwLock<'a>: TryRwLock<'a> {
    #[must_use]
    fn read_timeout_async<'async_trait>(
        &'a self,
        timeout: Duration
    ) -> Pin<Box<dyn Future<Output = Option<Self::ReadGuard>> + Send + 'async_trait>>
    where
        'a: 'async_trait,
        Self: 'async_trait
;
#[must_use] fn write_timeout_async<'async_trait>(
        &'a self,
        timeout: Duration
    ) -> Pin<Box<dyn Future<Output = Option<Self::WriteGuard>> + Send + 'async_trait>>
    where
        'a: 'async_trait,
        Self: 'async_trait
; }
Expand description

An async RwLock that can be timed out on

Required methods

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

Reads from the lock with a timeout asynchronously

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

Writes to the lock with a timeout asynchronously

Implementors

impl<'a, T, R> AsyncTimeoutRwLock<'a> for CustomRwLock<T, R> where
    T: 'a + Send + Sync,
    R: RawAsyncTimeoutRwLock + 'a + Send + Sync
[src]

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

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