pub trait Agent: 'static + Sync + Send + Sized {
    type Error: Debug + Send + Sync;

    // Required method
    fn handle(&self, message: Message) -> Result<Message, Self::Error>;

    // Provided methods
    fn handle_async(
        &self,
        message: Message
    ) -> Box<dyn Future<Item = Message, Error = Self::Error> + Send + Sync> { ... }
    fn run_listener(
        self,
        socket: UnixListener
    ) -> Result<(), Box<dyn Error + Send + Sync>> { ... }
    fn run_unix(
        self,
        path: impl AsRef<Path>
    ) -> Result<(), Box<dyn Error + Send + Sync>> { ... }
    fn run_tcp(self, addr: &str) -> Result<(), Box<dyn Error + Send + Sync>> { ... }
    fn listen(
        self,
        socket: Listener
    ) -> Result<(), Box<dyn Error + Send + Sync>> { ... }
}

Required Associated Types§

Required Methods§

source

fn handle(&self, message: Message) -> Result<Message, Self::Error>

Provided Methods§

source

fn handle_async( &self, message: Message ) -> Box<dyn Future<Item = Message, Error = Self::Error> + Send + Sync>

source

fn run_listener( self, socket: UnixListener ) -> Result<(), Box<dyn Error + Send + Sync>>

source

fn run_unix( self, path: impl AsRef<Path> ) -> Result<(), Box<dyn Error + Send + Sync>>

source

fn run_tcp(self, addr: &str) -> Result<(), Box<dyn Error + Send + Sync>>

source

fn listen(self, socket: Listener) -> Result<(), Box<dyn Error + Send + Sync>>

Object Safety§

This trait is not object safe.

Implementors§