|
|
@@ -18,16 +18,14 @@ pub struct RepProtocol {
|
|
|
socket: zeromq::RepSocket,
|
|
|
recv_queue: async_channel::Receiver<Reply>,
|
|
|
send_queue: async_channel::Sender<Request>,
|
|
|
- channels:
|
|
|
- (async_channel::Sender<Reply>,
|
|
|
- async_channel::Receiver<Request>)
|
|
|
-
|
|
|
+ channels: (
|
|
|
+ async_channel::Sender<Reply>,
|
|
|
+ async_channel::Receiver<Request>,
|
|
|
+ ),
|
|
|
}
|
|
|
|
|
|
impl RepProtocol {
|
|
|
- pub fn new(
|
|
|
- addr: String,
|
|
|
- ) -> RepProtocol {
|
|
|
+ pub fn new(addr: String) -> RepProtocol {
|
|
|
let socket = zeromq::RepSocket::new();
|
|
|
let (send_queue, recv_channel) = async_channel::unbounded::<Request>();
|
|
|
let (send_channel, recv_queue) = async_channel::unbounded::<Reply>();
|
|
|
@@ -39,18 +37,18 @@ impl RepProtocol {
|
|
|
socket,
|
|
|
recv_queue,
|
|
|
send_queue,
|
|
|
- channels
|
|
|
+ channels,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- pub async fn start(&mut self) ->
|
|
|
- Result<
|
|
|
- (async_channel::Sender<Reply>,
|
|
|
- async_channel::Receiver<Request>)
|
|
|
- > {
|
|
|
- self.socket.bind(self.addr.as_str()).await?;
|
|
|
- Ok(self.channels.clone())
|
|
|
+ pub async fn start(
|
|
|
+ &mut self,
|
|
|
+ ) -> Result<(
|
|
|
+ async_channel::Sender<Reply>,
|
|
|
+ async_channel::Receiver<Request>,
|
|
|
+ )> {
|
|
|
+ self.socket.bind(self.addr.as_str()).await?;
|
|
|
+ Ok(self.channels.clone())
|
|
|
}
|
|
|
|
|
|
pub async fn run(&mut self) -> Result<()> {
|