Trait QueueExt

Source
pub trait QueueExt {
    // Provided methods
    fn queue_stream<Item, F>(self, f: F) -> QueueStream<Self, Item, F>
       where Self: Sized + Unpin,
             F: Fn(Pin<&mut Self>, &mut Context<'_>) -> Poll<Option<Item>> { ... }
    fn queue_sender<Item, F, R>(self, f: F) -> QueueSender<Self, Item, F, R>
       where Self: Sized + Waker,
             F: Fn(&mut Self, Action<Item>) -> Reply<R> { ... }
    fn queue_channel<Item, F1, R, F2>(
        self,
        f1: F1,
        f2: F2,
    ) -> (QueueSender<QueueStream<Self, Item, F2>, Item, F1, R>, QueueStream<Self, Item, F2>)
       where Self: Sized + Unpin + Clone,
             F1: Fn(&mut QueueStream<Self, Item, F2>, Action<Item>) -> Reply<R>,
             F2: Fn(Pin<&mut Self>, &mut Context<'_>) -> Poll<Option<Item>> + Clone + Unpin { ... }
}

Provided Methods§

Source

fn queue_stream<Item, F>(self, f: F) -> QueueStream<Self, Item, F>
where Self: Sized + Unpin, F: Fn(Pin<&mut Self>, &mut Context<'_>) -> Poll<Option<Item>>,

Source

fn queue_sender<Item, F, R>(self, f: F) -> QueueSender<Self, Item, F, R>
where Self: Sized + Waker, F: Fn(&mut Self, Action<Item>) -> Reply<R>,

Source

fn queue_channel<Item, F1, R, F2>( self, f1: F1, f2: F2, ) -> (QueueSender<QueueStream<Self, Item, F2>, Item, F1, R>, QueueStream<Self, Item, F2>)
where Self: Sized + Unpin + Clone, F1: Fn(&mut QueueStream<Self, Item, F2>, Action<Item>) -> Reply<R>, F2: Fn(Pin<&mut Self>, &mut Context<'_>) -> Poll<Option<Item>> + Clone + Unpin,

Implementors§

Source§

impl<T: ?Sized> QueueExt for T