diff options
Diffstat (limited to 'src/client.rs')
-rw-r--r-- | src/client.rs | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/src/client.rs b/src/client.rs index 82781e8..ec8b42e 100644 --- a/src/client.rs +++ b/src/client.rs @@ -32,22 +32,17 @@ pub struct FlicClient { impl FlicClient { pub async fn new(conn: &str) -> Result<FlicClient> { - match TcpStream::connect(conn).await { - - Ok(stream) => { - let (reader, writer) = stream.into_split(); - Ok(FlicClient{ - reader: Mutex::new(reader), - writer: Mutex::new(writer), - is_running: Mutex::new(true), - command_mapper: Mutex::new(CommandToByteMapper::new()), - event_mapper: Mutex::new(ByteToEventMapper::new()), - map: Mutex::new(vec![]), - }) - } - Err(err) => Err(err) - } - + TcpSTream::connect(con) + .await + .map(|s| s.into_split()) + .map(|(reader, writer)| FlicClient { + reader: Mutex::new(reader), + writer: Mutex::new(writer), + is_running: Mutex::new(true), + command_mapper: Mutex::new(CommandToByteMapper::new()), + event_mapper: Mutex::new(ByteToEventMapper::new()), + map: Mutex::new(vec![]), + }) } pub async fn register_event_handler(self, event: EventClosureMutex) -> Self { self.map.lock().await.push(event); |