use crate::exchange::Content;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Hash, PartialEq, Eq, Serialize, Deserialize)]
pub struct BinaryMessage {
pub version: String,
pub payload: String,
}
impl Content for BinaryMessage {
fn get_type(&self) -> &str {
"binary"
}
fn appropriate(&mut self, _timestamp: u64, _new_station_id: u32) {
unimplemented!("Binary payloads cannot be modified")
}
fn as_mobile(
&self,
) -> Result<
&dyn crate::mobility::mobile::Mobile,
crate::exchange::message::content_error::ContentError,
> {
Err(crate::exchange::message::content_error::ContentError::NotAMobile("BinaryMessage"))
}
fn as_mortal(
&self,
) -> Result<
&dyn crate::exchange::mortal::Mortal,
crate::exchange::message::content_error::ContentError,
> {
Err(crate::exchange::message::content_error::ContentError::NotAMortal("BinaryMessage"))
}
}