@@ -230,38 +230,48 @@ impl Transport {
230230 }
231231 }
232232
233− async fn recv(
233+ async fn recv_inner(
234234 transport: Arc<Self>,
235235 mut server_stdout: Box<dyn AsyncBufRead + Unpin + Send>,
236236 client_tx: UnboundedSender<Payload>,
237− ) {
237+ ) -> Result<()> {
238238 let mut recv_buffer = String::new();
239239 loop {
240− match Self::recv_server_message(&mut server_stdout, &mut recv_buffer).await {
241− Ok(msg) => {
242− transport
243− .process_server_message(&client_tx, msg)
244− .await
245− .unwrap();
246− }
247− Err(err) => {
248− error!("err: <- {:?}", err);
249− break;
250− }
251− }
240+ let msg = Self::recv_server_message(&mut server_stdout, &mut recv_buffer).await?;
241+ transport.process_server_message(&client_tx, msg).await?;
252242 }
253243 }
254244
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>,
249+ ) {
250+ if let Err(err) = Self::recv_inner(transport, server_stdout, client_tx).await {
251+ error!("err: <- {:?}", err);
252+ }
253+ }
254+
255+ async fn send_inner(
256256 transport: Arc<Self>,
257257 mut server_stdin: Box<dyn AsyncWrite + Unpin + Send>,
258258 mut client_rx: UnboundedReceiver<Payload>,
259− ) {
259+ ) -> Result<()> {
260260 while let Some(payload) = client_rx.recv().await {
261261 transport
262262 .send_payload_to_server(&mut server_stdin, payload)
263− .await
264− .unwrap()
263+ .await?;
264+ }
265+ Ok(())
266+ }
267+
268+ async fn send(
269+ transport: Arc<Self>,
270+ server_stdin: Box<dyn AsyncWrite + Unpin + Send>,
271+ client_rx: UnboundedReceiver<Payload>,
272+ ) {
273+ if let Err(err) = Self::send_inner(transport, server_stdin, client_rx).await {
274+ error!("err: <- {:?}", err);
265275 }
266276 }
267277