use futures_util::SinkExt; use tokio_tungstenite::tungstenite::Message; use super::WebSocket; use crate::Frame; pub(super) async fn write_frames(socket: &mut WebSocket, frames: Vec) -> bool { for frame in frames { let message = match frame { Frame::Text(text) => Message::Text(text.into()), Frame::Binary(data) => Message::Binary(data.into()), }; if !matches!( tokio::time::timeout(std::time::Duration::from_secs(5), socket.send(message)).await, Ok(Ok(())) ) { return false; } } true }