diff --git a/src/lib.rs b/src/lib.rs index b6fded3..cf0214f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -86,34 +86,39 @@ pub async fn send_to_wc_task( mut sender: SplitSink>, tokio_tungstenite::tungstenite::Message> ) { info!("From app is closed: {:?}", from_app.is_closed()); - while let Ok(msg) = from_app.recv().await { - #[cfg(debug_assertions)] - { - info!("Sending message to socket!"); - // serialized message - match serde_json::to_string(&msg) { - Err(e) => error!("Could not serialize ApplicationMessage to JSON! {e}"), - Ok(msg) => { - if let Err(e) = sender.send(Message::text(msg)).await { - error!("Could not send text ApplicationMessage to websocket! Closing websocket\n{e}"); - break; - } - } - } - - } - - #[cfg(not(debug_assertions))] - { - match bincode::serialize(&msg) { - Err(e) => error!("Could not serialize ApplicationMessage into binary! {e}"), - Ok(e) => { - if let Err(e) = sender.send(Message::binary(msg)).await { - error!("Could not send binary ApplicationMessage to websocket! Closing websocket\n{e}"); - break; + loop { + match from_app.recv().await { + Ok(msg) => { + #[cfg(debug_assertions)] + { + info!("Sending message to socket!"); + // serialized message + match serde_json::to_string(&msg) { + Err(e) => error!("Could not serialize ApplicationMessage to JSON! {e}"), + Ok(msg) => { + if let Err(e) = sender.send(Message::text(msg)).await { + error!("Could not send text ApplicationMessage to websocket! Closing websocket\n{e}"); + break; + } + } + } + + } + + #[cfg(not(debug_assertions))] + { + match bincode::serialize(&msg) { + Err(e) => error!("Could not serialize ApplicationMessage into binary! {e}"), + Ok(e) => { + if let Err(e) = sender.send(Message::binary(msg)).await { + error!("Could not send binary ApplicationMessage to websocket! Closing websocket\n{e}"); + break; + } + } } } } + Err(e) => error!("Send to WC had a recv error! {e}"), } }