dis-rs 0.13.0

An implementation of the Distributed Interactive Simulation protocol (IEEE-1278.1) in Rust. This main crate contains PDU implementations and facilities to read/write PDUs from Rust data structures to the wire format and vice versa. It supports versions 6 and 7 of the protocol.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::common::{Serialize, SerializePdu, SupportedVersion};
use crate::stop_freeze_r::model::StopFreezeR;
use bytes::{BufMut, BytesMut};

impl SerializePdu for StopFreezeR {
    fn serialize_pdu(&self, _version: SupportedVersion, buf: &mut BytesMut) -> u16 {
        let originating_id_bytes = self.originating_id.serialize(buf);
        let receiving_id_bytes = self.receiving_id.serialize(buf);
        let real_world_bytes = self.real_world_time.serialize(buf);
        buf.put_u8(self.reason.into());
        buf.put_u8(self.frozen_behavior.into());
        buf.put_u8(self.required_reliability_service.into());
        buf.put_u8(0u8);
        buf.put_u32(self.request_id);

        originating_id_bytes + receiving_id_bytes + real_world_bytes + 8
    }
}