From 34a37d0630ba29a7e616d97a4cc0d509ee1c9bfc Mon Sep 17 00:00:00 2001 From: Brian Spit Date: Sun, 7 Mar 2021 06:45:57 +0100 Subject: [PATCH] Add event when no more messages, indicating that the server has stopped --- src/client/mod.rs | 12 +++++++++++- src/events.rs | 2 ++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/client/mod.rs b/src/client/mod.rs index a136e9b..d844249 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -27,7 +27,7 @@ use tokio::{ use tokio_tungstenite::{tungstenite::Message, MaybeTlsStream, WebSocketStream}; #[cfg(feature = "events")] -use crate::events::Event; +use crate::events::{Event, EventType}; use crate::{ requests::{Request, RequestType}, responses::{AuthRequired, Response}, @@ -208,6 +208,16 @@ impl Client { error!("failed handling message: {:?}", e); } } + + #[cfg(feature = "events")] + { + let event = Event { + stream_timecode: None, + rec_timecode: None, + ty: EventType::ServerStopped, + }; + events_tx.send(event).ok(); + } }); let write = Mutex::new(write); diff --git a/src/events.rs b/src/events.rs index 4eeea7d..5f8da37 100644 --- a/src/events.rs +++ b/src/events.rs @@ -577,6 +577,8 @@ pub enum EventType { }, /// WebSocket server is stopping. ServerStopping, + /// WebSocket server has stopped. + ServerStopped, /// Fallback value for any unknown event type. #[serde(other)] Unknown,