diff --git a/src/agent.rs b/src/agent.rs index 00f7865..32ced8f 100644 --- a/src/agent.rs +++ b/src/agent.rs @@ -87,11 +87,14 @@ pub trait Agent: 'static + Sync + Send + Sized { Box::new(FutureResult::from(self.handle(message))) } - fn run_unix(self, path: impl AsRef) -> Result<(), Box> { - let socket = UnixListener::bind(path)?; + fn run_listener(self, socket: UnixListener) -> Result<(), Box> { Ok(tokio::run(handle_clients!(self, socket))) } + fn run_unix(self, path: impl AsRef) -> Result<(), Box> { + self.run_listener(UnixListener::bind(path)?) + } + fn run_tcp(self, addr: &str) -> Result<(), Box> { let socket = TcpListener::bind(&addr.parse::()?)?; Ok(tokio::run(handle_clients!(self, socket)))