[][src]Trait multiqueue2::wait::Wait

pub trait Wait {
    fn wait(&self, _: usize, _: &AtomicUsize, _: &AtomicUsize);
fn notify(&self);
fn needs_notify(&self) -> bool; }

This is the trait that something implements to allow receivers to block waiting for more data.

Required methods

fn wait(&self, _: usize, _: &AtomicUsize, _: &AtomicUsize)

Causes the reader to block until the queue is available. Is passed the queue tag which the readers are waiting on, a reference to the corresponding AtomicUsize, and a reference to the number of writers

fn notify(&self)

Called by writers to awaken waiting readers

fn needs_notify(&self) -> bool

Returns whether writers need to call notify Optimized the various BusyWait variants

Loading content...

Implementors

impl Wait for BlockingWait[src]

impl Wait for BusyWait[src]

impl Wait for YieldingWait[src]

Loading content...