use bincode::Encode;
#[derive(Encode, bincode::Decode)]
pub struct BinLifecycle {
pub id: u32,
pub ecu: u32, pub nr_msgs: u32,
pub start_time: u64,
pub end_time: u64,
pub sw_version: Option<String>,
pub resume_time: Option<u64>, }
#[derive(Encode, bincode::Decode)]
pub struct BinDltMsg {
pub index: u32, pub reception_time: u64,
pub timestamp_dms: u32,
pub ecu: u32,
pub apid: u32,
pub ctid: u32,
pub lifecycle_id: u32, pub htyp: u8,
pub mcnt: u8,
pub verb_mstp_mtin: u8,
pub noar: u8,
pub payload_as_text: String, }
#[derive(Encode, bincode::Decode)]
pub struct BinFileInfo {
pub nr_msgs: u32, }
#[derive(Encode, bincode::Decode)]
pub struct BinEcuStats {
pub ecu: u32,
pub nr_msgs: u32, pub apids: Vec<BinApidInfo>,
}
#[derive(Encode, bincode::Decode)]
pub struct BinApidInfo {
pub apid: u32,
pub desc: Option<String>,
pub ctids: Vec<BinCtidInfo>,
}
#[derive(Encode, bincode::Decode)]
pub struct BinCtidInfo {
pub ctid: u32,
pub nr_msgs: u32, pub desc: Option<String>,
}
#[derive(Encode, bincode::Decode)]
pub enum BinType {
FileInfo(BinFileInfo),
Lifecycles(Vec<BinLifecycle>),
DltMsgs((u32, Vec<BinDltMsg>)), EacInfo(Vec<BinEcuStats>),
PluginState(Vec<String>), }