use super::simulation_address_record::SimulationAddressRecord;
use bytes::{BytesMut, BufMut, Buf};
#[derive(Copy, Clone, Debug, Default)]
pub struct EventIDRecord {
pub simulation_address_record: SimulationAddressRecord,
pub event_identifier_field: u16
}
impl EventIDRecord {
pub fn new(site_identifier_field: u16, application_identifier_field: u16, event_identifier_field: u16) -> Self {
EventIDRecord {
simulation_address_record: SimulationAddressRecord::new(site_identifier_field, application_identifier_field),
event_identifier_field
}
}
pub fn default(event_identifier: u16, ) -> Self {
EventIDRecord {
simulation_address_record: SimulationAddressRecord::default(),
event_identifier_field: event_identifier
}
}
pub fn serialize(&self, buf: &mut BytesMut) {
self.simulation_address_record.serialize(buf);
buf.put_u16(self.event_identifier_field);
}
pub fn decode(buf: &mut BytesMut) -> EventIDRecord {
EventIDRecord {
simulation_address_record: SimulationAddressRecord::decode(buf),
event_identifier_field: buf.get_u16(),
}
}
}