pub trait RequestReplyLayer: Send + Sync {
    type Address;
    type RequestData;
    type ReplyData;
    type Error;

    // Required methods
    fn listen(
        &mut self,
        addr: Self::Address,
    ) -> Result<Box<dyn Iterator<Item = Result<Box<dyn ListenConnection<RequestData = Self::RequestData, ReplyData = Self::ReplyData, Error = Self::Error>>, Self::Error>>>, Self::Error>;
    fn connect(
        &mut self,
        addr: Self::Address,
    ) -> Result<Box<dyn RequestReplyConnection<RequestData = Self::RequestData, ReplyData = Self::ReplyData, Error = Self::Error>>, Self::Error>;
}
Expand description

Abstraction trait for different publisher/subscriber implementations.

Required Associated Types§

Required Methods§

source

fn listen( &mut self, addr: Self::Address, ) -> Result<Box<dyn Iterator<Item = Result<Box<dyn ListenConnection<RequestData = Self::RequestData, ReplyData = Self::ReplyData, Error = Self::Error>>, Self::Error>>>, Self::Error>

source

fn connect( &mut self, addr: Self::Address, ) -> Result<Box<dyn RequestReplyConnection<RequestData = Self::RequestData, ReplyData = Self::ReplyData, Error = Self::Error>>, Self::Error>

Implementors§