channel-receiver 0.3.1

Channel Receiver
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use dyn_clone::{clone_trait_object, DynClone};

use crate::error::TryRecvError;

//
#[async_trait::async_trait]
pub trait AsyncReceiver<T>: DynClone {
    async fn recv(&mut self) -> Option<T>
    where
        T: Send;

    fn try_recv(&mut self) -> Result<T, TryRecvError>;
}
clone_trait_object!(<T> AsyncReceiver<T>);