diff --git a/server/src/events.rs b/server/src/events.rs index 8cc43a4..810a5ac 100644 --- a/server/src/events.rs +++ b/server/src/events.rs @@ -21,20 +21,14 @@ pub enum ClientEvent { RequestLegalMoves { fen: String }, } -#[derive(Debug)] -pub enum ServerEvent { - PlayerJoined(Uuid, String), - PlayerLeft(Uuid), - PlayerJoinedQueue(Uuid), - PlayerJoinedMatch(Uuid, Uuid), // player_id, match_id - PlayerMove(Uuid, Step), - PlayerResigned(Uuid), - MatchCreated(Uuid, Uuid, Uuid), // match_id, white_id, black_id +#[derive(Serialize, Deserialize, Debug)] +pub struct EventResponse { + response: Result, } pub struct EventSystem { - sender: mpsc::UnboundedSender<(Uuid, ClientEvent)>, - receiver: Arc>>, + sender: mpsc::UnboundedSender<(Uuid, EventResponse)>, + receiver: Arc>>, } impl Clone for EventSystem { @@ -58,13 +52,13 @@ impl EventSystem { pub async fn send_event( &self, player_id: Uuid, - event: ClientEvent, + event: EventResponse, ) -> Result<(), Box> { self.sender.send((player_id, event))?; Ok(()) } - pub async fn next_event(&self) -> Option<(Uuid, ClientEvent)> { + pub async fn next_event(&self) -> Option<(Uuid, EventResponse)> { let mut receiver = self.receiver.lock().await; receiver.recv().await } @@ -76,6 +70,7 @@ impl Default for EventSystem { } } +/* #[cfg(test)] mod tests { use super::*; @@ -123,4 +118,4 @@ mod tests { "Cloned event system should receive events" ); } -} +}*/ diff --git a/server/src/main.rs b/server/src/main.rs index 0d35baf..ec0ce08 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -1,6 +1,7 @@ mod connection; mod events; mod matchmaking; +mod messages; use tokio::net::TcpListener; #[tokio::main]