rusty-cotp 1.1.2

Implements the Kernel Function of Connection Oriented Transport Protocol/ISO 8073/IEC 8073/ITU-T X.224 standard.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::{
    api::CotpError,
    packet::payload::TransportProtocolDataUnit,
    serialiser::{packet_cc::serialise_connection_confirm, packet_cr::serialise_connection_request, packet_dt::serialise_data_transfer},
};

pub(crate) fn serialise(data: &TransportProtocolDataUnit) -> Result<Vec<u8>, CotpError> {
    match data {
        TransportProtocolDataUnit::CR(x) => serialise_connection_request(&x),
        TransportProtocolDataUnit::CC(x) => serialise_connection_confirm(&x),
        TransportProtocolDataUnit::DT(x) => serialise_data_transfer(&x),
        _ => return Err(CotpError::ProtocolError(format!("Unsupported tpdu: {:?}", data).into())),
    }
}