Trait concurrency_traits::queue::TryQueue[][src]

pub trait TryQueue {
    type Item;
    fn try_push(&self, value: Self::Item) -> Result<(), Self::Item>;
fn try_pop(&self) -> Option<Self::Item>; }
Expand description

A generic queue that supports try operations

Associated Types

type Item[src]

The type the queue holds.

Required methods

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

Tries to append an item to the queue returning None if unsuccessful

fn try_pop(&self) -> Option<Self::Item>[src]

Tries to receive an item from the queue returning None if none available

Implementors

impl<T, CS> TryQueue for ParkQueue<T, CS> where
    CS: ThreadParker + ThreadFunctions,
    CS::ThreadId: Clone
[src]

type Item = T

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

fn try_pop(&self) -> Option<Self::Item>[src]

impl<T, S, CS> TryQueue for SemaphoreQueue<T, S, CS> where
    S: TrySemaphore,
    CS: ThreadFunctions
[src]

type Item = T

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

fn try_pop(&self) -> Option<Self::Item>[src]