@@ -230,38 +230,48 @@ impl Transport {
233− async fn recv(
233+ async fn recv_inner(
234 transport: Arc<Self>,
234 transport: Arc<Self>,
235 mut server_stdout: Box<dyn AsyncBufRead + Unpin + Send>,
235 mut server_stdout: Box<dyn AsyncBufRead + Unpin + Send>,
236 client_tx: UnboundedSender<Payload>,
236 client_tx: UnboundedSender<Payload>,
237− ) {
237+ ) -> Result<()> {
238 let mut recv_buffer = String::new();
238 let mut recv_buffer = String::new();
240− match Self::recv_server_message(&mut server_stdout, &mut recv_buffer).await {
240+ let msg = Self::recv_server_message(&mut server_stdout, &mut recv_buffer).await?;
243− .process_server_message(&client_tx, msg)
241+ transport.process_server_message(&client_tx, msg).await?;
248− error!("err: <- {:?}", err);
255− async fn send(
245+ async fn recv(
246+ transport: Arc<Self>,
247+ server_stdout: Box<dyn AsyncBufRead + Unpin + Send>,
248+ client_tx: UnboundedSender<Payload>,
250+ if let Err(err) = Self::recv_inner(transport, server_stdout, client_tx).await {
251+ error!("err: <- {:?}", err);
255+ async fn send_inner(
256 transport: Arc<Self>,
256 transport: Arc<Self>,
257 mut server_stdin: Box<dyn AsyncWrite + Unpin + Send>,
257 mut server_stdin: Box<dyn AsyncWrite + Unpin + Send>,
258 mut client_rx: UnboundedReceiver<Payload>,
258 mut client_rx: UnboundedReceiver<Payload>,
259− ) {
259+ ) -> Result<()> {
260 while let Some(payload) = client_rx.recv().await {
260 while let Some(payload) = client_rx.recv().await {
261 transport
261 transport
262 .send_payload_to_server(&mut server_stdin, payload)
262 .send_payload_to_server(&mut server_stdin, payload)
269+ transport: Arc<Self>,
270+ server_stdin: Box<dyn AsyncWrite + Unpin + Send>,
271+ client_rx: UnboundedReceiver<Payload>,
273+ if let Err(err) = Self::send_inner(transport, server_stdin, client_rx).await {
274+ error!("err: <- {:?}", err);