rsiot/message/
msg_data.rsuse serde::{Deserialize, Serialize};
use super::{system_messages::*, MsgDataBound, TimeToLiveValue};
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
pub enum MsgData<TCustom> {
System(System),
Custom(TCustom),
}
impl<TMsg> MsgData<TMsg>
where
TMsg: MsgDataBound,
{
pub fn define_time_to_live(&self) -> TimeToLiveValue {
match &self {
MsgData::System(_) => TimeToLiveValue::Infinite,
MsgData::Custom(data) => data.define_time_to_live(),
}
}
}
impl<TCustom> MsgData<TCustom> where TCustom: MsgDataBound {}