From 04a4902d1054a2e8776107c99ef83496b6050b60 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sat, 29 Jun 2024 20:26:02 +0200 Subject: server message for command errors --- server/src/main.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'server/src/main.rs') diff --git a/server/src/main.rs b/server/src/main.rs index bf69f295..68927eaa 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -151,13 +151,17 @@ async fn run() -> anyhow::Result<()> { } }; debug!("<- {id:?} {packet:?}"); - if let Err(e) = state.write().await.packet_in(id, packet).await { - warn!("client error: {e}"); - let _ = error_tx - .send(PacketC::Error { + let packet_out = match state.write().await.packet_in(id, packet).await { + Ok(packets) => packets, + Err(e) => { + warn!("client error: {e}"); + vec![PacketC::Error { message: format!("{e}"), - }) - .await; + }] + } + }; + for packet in packet_out { + let _ = error_tx.send(packet).await; } } Message::Close(_) => break, -- cgit v1.2.3-70-g09d2