odyssey-server/src/messages.rs

27 lines
651 B
Rust

use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub enum ClientMessage {
Hello(),
}
impl ClientMessage {
pub fn try_read(msg: tungstenite::Message) -> Result<ClientMessage, rmp_serde::decode::Error> {
rmp_serde::from_slice(msg.into_data().as_slice())
}
}
#[derive(Debug, Serialize, Deserialize)]
pub enum ServerMessage {
Hello(String, String), // Server name - Protocol version
Error(String),
}
impl Into<tungstenite::Message> for ServerMessage {
fn into(self) -> tungstenite::Message {
tungstenite::Message::binary(
rmp_serde::to_vec_named(&self).expect("could not serialize server response"),
)
}
}