diff options
author | Tyler Murphy <tylerm@tylerm.dev> | 2023-06-12 23:47:43 -0400 |
---|---|---|
committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-06-12 23:47:43 -0400 |
commit | 0a06f163d1664bfd0ff938569223294edf9902f6 (patch) | |
tree | ac0dc03c010d3e5666b6a62249347ac434f76b44 /src/room/messages.rs | |
download | tuxman-0a06f163d1664bfd0ff938569223294edf9902f6.tar.gz tuxman-0a06f163d1664bfd0ff938569223294edf9902f6.tar.bz2 tuxman-0a06f163d1664bfd0ff938569223294edf9902f6.zip |
initial
Diffstat (limited to 'src/room/messages.rs')
-rw-r--r-- | src/room/messages.rs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/room/messages.rs b/src/room/messages.rs new file mode 100644 index 0000000..72958a6 --- /dev/null +++ b/src/room/messages.rs @@ -0,0 +1,69 @@ +use serde::{Serialize, Deserialize}; +use serde_json::Value; + +#[derive(Deserialize, Clone, Debug)] +#[serde(tag = "type")] +pub enum ClientMessage { + #[serde(rename = "frame")] + Frame { + frame: u64, + }, + #[serde(rename = "input")] + Input { + data: Value, + frame: u64, + }, + #[serde(rename = "requeststate")] + RequestState { + connection: Option<usize>, + frame: u64, + }, + #[serde(rename = "state")] + State { + state: Value, + frame: u64, + }, + #[serde(rename = "ping")] + Ping { + frame: u64, + }, +} + +#[derive(Serialize, Clone, Debug)] +#[serde(tag = "type")] +pub enum ServerMessage { + #[serde(rename = "framerequest")] + FrameRequest, + #[serde(rename = "connections")] + Connections { + connections: Vec<usize>, + added: Option<usize>, + removed: Option<usize>, + id: usize, + frame: u64, + }, + #[serde(rename = "input")] + Input { + data: Value, + frame: u64, + connection: usize, + }, + #[serde(rename = "requeststate")] + RequestState { + frame: u64, + }, + #[serde(rename = "state")] + State { + state: Value, + frame: u64, + connection: Option<usize>, + }, + #[serde(rename = "pong")] + Pong { + frame: u64, + }, + #[serde(rename = "error")] + Error { + error: String, + }, +} |