diff --git a/src/client.rs b/src/client.rs index 4ae788c..c3755ab 100644 --- a/src/client.rs +++ b/src/client.rs @@ -52,7 +52,7 @@ pub mod general { } pub trait WriteWrapper { - async fn write(&mut self, msg: WriterMessage) -> Result; + async fn write(&mut self, msg: WriterMessage) -> Result; } pub enum WriterMessage { @@ -66,14 +66,18 @@ pub mod general { // TODO: implement custom Error impl WriteWrapper for DevWriter { - async fn write(&mut self, msg: WriterMessage) -> Result { + async fn write(&mut self, msg: WriterMessage) -> Result { match msg { WriterMessage::Plain(buf) => { let l = buf.len(); - if let Ok(()) = self.dr.send(buf).await { + return match self.dr.send(buf).await { + Ok(()) => Ok(l), + Err(e) => Err(e.to_string()) + }; + /* if let Ok(()) = self.dr.send(buf).await { return Ok(l); } - Err(()) + Err(()) */ }, // this thing should be abolished later WriterMessage::Gateway(_addr) => { @@ -88,13 +92,13 @@ pub mod general { } impl WriteWrapper for FdWriter { - async fn write(&mut self, msg: WriterMessage) -> Result { + async fn write(&mut self, msg: WriterMessage) -> Result { match msg { WriterMessage::Plain(buf) => { if let Ok(a) = self.br.write(&buf).await { return Ok(a); } - Err(()) + Err(String::new()) }, WriterMessage::Gateway(_addr) => {Ok(0)} }