From af11afb2557449fa39e0b28f52ec84bcde15b342 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 22 Jul 2026 21:58:32 +0200 Subject: [PATCH] Broadcasting --- src/engine/terminal.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/engine/terminal.rs b/src/engine/terminal.rs index ece2b82..84cb530 100644 --- a/src/engine/terminal.rs +++ b/src/engine/terminal.rs @@ -1,5 +1,6 @@ +use pulse_wire::PulseWire; use tokio::{ - io::AsyncReadExt, + io::{AsyncReadExt, AsyncWriteExt}, net::{ UnixListener, unix::{OwnedReadHalf, OwnedWriteHalf}, @@ -65,8 +66,19 @@ impl TerminalServer { Ok(()) } - pub async fn broadcast(&mut self) -> tokio::io::Result<()> { - // for client in &mut self.clients {} - Ok(()) + pub async fn broadcast( + &mut self, + message: pulse_wire::terminal::TerminalServerMessage, + ) -> tokio::io::Result<()> { + let mut res = Ok(()); + let msg = message.to_com(); + + for client in &mut self.clients { + if let Err(e) = client.write(&msg).await { + res = Err(e); + } + } + + res } }