Skip to content
Clone
main
21 lines 607 B Rust
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<Frame>) -> 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
}