Trait concurrency_traits::queue::TimeoutQueue[][src]

pub trait TimeoutQueue: TryQueue {
    fn push_timeout(
        &self,
        value: Self::Item,
        timeout: Duration
    ) -> Result<(), Self::Item>;
fn pop_timeout(&self, timeout: Duration) -> Option<Self::Item>; }
Expand description

A Queue that can timeout on push and pop operations

Required methods

fn push_timeout(
    &self,
    value: Self::Item,
    timeout: Duration
) -> Result<(), Self::Item>
[src]

Appends an item to the end of the queue blocking until appended or timeout

fn pop_timeout(&self, timeout: Duration) -> Option<Self::Item>[src]

Blocks until an item is received from the queue or timeout

Implementors

impl<T, CS> TimeoutQueue for ParkQueue<T, CS> where
    CS: ThreadTimeoutParker + ThreadFunctions + TimeFunctions,
    CS::ThreadId: Clone
[src]

fn push_timeout(
    &self,
    value: Self::Item,
    _timeout: Duration
) -> Result<(), Self::Item>
[src]

fn pop_timeout(&self, timeout: Duration) -> Option<Self::Item>[src]

impl<T, S, CS> TimeoutQueue for SemaphoreQueue<T, S, CS> where
    S: TimeoutSemaphore,
    CS: ThreadFunctions
[src]

fn push_timeout(&self, value: Self::Item, _: Duration) -> Result<(), Self::Item>[src]

fn pop_timeout(&self, timeout: Duration) -> Option<Self::Item>[src]