Newer
Older
use remote_events::events::{FromSocketMessage, ToSocketMessage};
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Default, Serialize, Deserialize)]
#[serde(tag = "type")]
pub enum IncomingEvent {
#[default]
Void,
}
impl FromSocketMessage for IncomingEvent {
fn from_text(value: String) -> Self {
serde_json::from_str(value.as_str()).unwrap_or_default()
}
fn from_binary(value: Vec<u8>) -> Self {
serde_json::from_slice(value.as_slice()).unwrap_or_default()
}
}
#[derive(Clone, Copy, Debug, Default, Serialize, Deserialize)]
pub enum OutgoingEvent {
#[default]
Void,
}
impl ToSocketMessage for OutgoingEvent {
fn to_text(&self) -> String {
serde_json::to_string(&self).unwrap_or(String::from("{}"))
}
}