dis_rs/common/comment_r/
writer.rs

1use crate::comment_r::model::CommentR;
2use crate::common::{Serialize, SerializePdu, SupportedVersion};
3use bytes::{BufMut, BytesMut};
4
5impl SerializePdu for CommentR {
6    fn serialize_pdu(&self, _version: SupportedVersion, buf: &mut BytesMut) -> u16 {
7        let originating_bytes = self.originating_id.serialize(buf);
8        let receiving_bytes = self.receiving_id.serialize(buf);
9        buf.put_u32(0u32);
10        buf.put_u32(self.variable_datum_records.len() as u32);
11        let variable_datum_bytes = self
12            .variable_datum_records
13            .iter()
14            .map(|datum| datum.serialize(buf))
15            .sum::<u16>();
16
17        originating_bytes + receiving_bytes + 8 + variable_datum_bytes
18    }
19}