dis_rs/common/stop_freeze_r/
writer.rs

1use crate::common::{Serialize, SerializePdu, SupportedVersion};
2use crate::stop_freeze_r::model::StopFreezeR;
3use bytes::{BufMut, BytesMut};
4
5impl SerializePdu for StopFreezeR {
6    fn serialize_pdu(&self, _version: SupportedVersion, buf: &mut BytesMut) -> u16 {
7        let originating_id_bytes = self.originating_id.serialize(buf);
8        let receiving_id_bytes = self.receiving_id.serialize(buf);
9        let real_world_bytes = self.real_world_time.serialize(buf);
10        buf.put_u8(self.reason.into());
11        buf.put_u8(self.frozen_behavior.into());
12        buf.put_u8(self.required_reliability_service.into());
13        buf.put_u8(0u8);
14        buf.put_u32(self.request_id);
15
16        originating_id_bytes + receiving_id_bytes + real_world_bytes + 8
17    }
18}