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]
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]
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]
impl<T, CS> TimeoutQueue for ParkQueue<T, CS> where
CS: ThreadTimeoutParker + ThreadFunctions + TimeFunctions,
CS::ThreadId: Clone,
[src]impl<T, S, CS> TimeoutQueue for SemaphoreQueue<T, S, CS> where
S: TimeoutSemaphore,
CS: ThreadFunctions,
[src]
impl<T, S, CS> TimeoutQueue for SemaphoreQueue<T, S, CS> where
S: TimeoutSemaphore,
CS: ThreadFunctions,
[src]