dis_rs/common/transfer_ownership/
writer.rs

1use crate::transfer_ownership::model::TransferOwnership;
2use crate::{Serialize, SerializePdu, SupportedVersion};
3use bytes::{BufMut, BytesMut};
4
5impl SerializePdu for TransferOwnership {
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(self.request_id);
10        buf.put_u8(self.required_reliability_service.into());
11        buf.put_u8(self.transfer_type.into());
12        let transfer_bytes = self.transfer_entity_id.serialize(buf);
13        let record_spec_bytes = self.record_specification.serialize(buf);
14
15        originating_bytes + receiving_bytes + 6 + transfer_bytes + record_spec_bytes
16    }
17}