diff options
Diffstat (limited to 'examples/chat/protocol.rs')
-rw-r--r-- | examples/chat/protocol.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/examples/chat/protocol.rs b/examples/chat/protocol.rs new file mode 100644 index 0000000..6a51e50 --- /dev/null +++ b/examples/chat/protocol.rs @@ -0,0 +1,32 @@ +use std::collections::HashMap; + +use bevy_quinnet::ClientId; +use serde::{Deserialize, Serialize}; + +// Messages from clients +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum ClientMessage { + Join { name: String }, + Disconnect {}, + ChatMessage { message: String }, +} + +// Messages from the server +#[derive(Debug, Clone, Serialize, Deserialize)] +pub enum ServerMessage { + ClientConnected { + client_id: ClientId, + username: String, + }, + ClientDisconnected { + client_id: ClientId, + }, + ChatMessage { + client_id: ClientId, + message: String, + }, + InitClient { + client_id: ClientId, + usernames: HashMap<ClientId, String>, + }, +} |