pub trait AsyncReturnval {
    type Sender<T>;
    type Receiver<T>;
    type SendError;
    type RecvResult<T>;
    type SendFuture<T>: Future<Output = Result<(), Self::SendError>>;
    type RecvFuture<T>: Future<Output = Self::RecvResult<T>>;

    // Required methods
    fn create<T>() -> (Self::Sender<T>, Self::Receiver<T>);
    fn async_send<T>(tx: Self::Sender<T>, msg: T) -> Self::SendFuture<T>;
    fn async_recv<T>(rx: Self::Receiver<T>) -> Self::RecvFuture<T>;
}

Required Associated Types§

source

type Sender<T>

source

type Receiver<T>

source

type SendError

source

type RecvResult<T>

source

type SendFuture<T>: Future<Output = Result<(), Self::SendError>>

source

type RecvFuture<T>: Future<Output = Self::RecvResult<T>>

Required Methods§

source

fn create<T>() -> (Self::Sender<T>, Self::Receiver<T>)

source

fn async_send<T>(tx: Self::Sender<T>, msg: T) -> Self::SendFuture<T>

source

fn async_recv<T>(rx: Self::Receiver<T>) -> Self::RecvFuture<T>

Implementors§