diff --git a/src/requests/mod.rs b/src/requests/mod.rs index bda1c86..c86b58f 100644 --- a/src/requests/mod.rs +++ b/src/requests/mod.rs @@ -1,6 +1,7 @@ pub mod chunk; -pub mod message; pub mod indicator; +pub mod message; +pub mod voice; use std::sync::Arc; @@ -44,8 +45,9 @@ impl Server { } }, - WsMessage::Binary(b) => { - Self::LOGGER.info(format!("Binary message: {b:?}")); + WsMessage::Binary(data) => { + // Self::LOGGER.info(format!("Binary message: {data:?}")); + voice::voice(self, client, data)?; } WsMessage::String(s) => { diff --git a/src/requests/voice.rs b/src/requests/voice.rs new file mode 100644 index 0000000..25adbee --- /dev/null +++ b/src/requests/voice.rs @@ -0,0 +1,15 @@ +use crate::{server::Server, utils::client::Client}; +use std::sync::Arc; + +crate::logger!(LOGGER "Voice chat"); + +pub fn voice(server: &Arc, client: &Client, data: &[u8]) -> crate::Result<()> { + let prefix = (10u16).to_le_bytes(); + + let mut payload = Vec::with_capacity(prefix.len() + data.len()); + payload.extend_from_slice(&prefix); + payload.extend_from_slice(data); + + client.send_bin(&payload)?; + Ok(()) +}