Skip to main content

PayloadDef

Trait PayloadDef 

Source
pub trait PayloadDef<'a>: Parse<'a, Error = Error> {
    const PACKET_TYPE: u8;
    const NAME: &'static str;
}
Expand description

Implemented by every typed T2-MI payload; drives crate::payload::AnyPayload dispatch.

PACKET_TYPE is the wire packet_type byte from the T2-MI header that this type parses. NAME is a diagnostic label in SCREAMING_SNAKE convention without any _payload suffix.

Required Associated Constants§

Source

const PACKET_TYPE: u8

Wire packet_type byte (TS 102 773 Table 1) this type accepts.

Source

const NAME: &'static str

Diagnostic name. Convention (workspace-wide): SCREAMING_SNAKE, suffix-free — BBFRAME, L1_CURRENT, FEF_NULL (no _payload suffix).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a> PayloadDef<'a> for ArbitraryCellsPayload<'a>

Source§

const PACKET_TYPE: u8 = 0x02

Source§

const NAME: &'static str = "ARBITRARY_CELLS"

Source§

impl<'a> PayloadDef<'a> for AuxIqPayload<'a>

Source§

const PACKET_TYPE: u8 = 0x01

Source§

const NAME: &'static str = "AUX_IQ"

Source§

impl<'a> PayloadDef<'a> for BbframePayload<'a>

Source§

const PACKET_TYPE: u8 = 0x00

Source§

const NAME: &'static str = "BBFRAME"

Source§

impl<'a> PayloadDef<'a> for FefCompositePayload

Source§

const PACKET_TYPE: u8 = 0x32

Source§

const NAME: &'static str = "FEF_COMPOSITE"

Source§

impl<'a> PayloadDef<'a> for FefIqPayload<'a>

Source§

const PACKET_TYPE: u8 = 0x31

Source§

const NAME: &'static str = "FEF_IQ"

Source§

impl<'a> PayloadDef<'a> for FefNullPayload

Source§

const PACKET_TYPE: u8 = 0x30

Source§

const NAME: &'static str = "FEF_NULL"

Source§

impl<'a> PayloadDef<'a> for FefSubPartPayload<'a>

Source§

const PACKET_TYPE: u8 = 0x33

Source§

const NAME: &'static str = "FEF_SUBPART"

Source§

impl<'a> PayloadDef<'a> for IndividualAddressingPayload<'a>

Source§

const PACKET_TYPE: u8 = 0x21

Source§

const NAME: &'static str = "INDIVIDUAL_ADDRESSING"

Source§

impl<'a> PayloadDef<'a> for L1CurrentPayload<'a>

Source§

const PACKET_TYPE: u8 = 0x10

Source§

const NAME: &'static str = "L1_CURRENT"

Source§

impl<'a> PayloadDef<'a> for L1FuturePayload<'a>

Source§

const PACKET_TYPE: u8 = 0x11

Source§

const NAME: &'static str = "L1_FUTURE"

Source§

impl<'a> PayloadDef<'a> for P2BiasPayload

Source§

const PACKET_TYPE: u8 = 0x12

Source§

const NAME: &'static str = "P2_BIAS"

Source§

impl<'a> PayloadDef<'a> for T2TimestampPayload

Source§

const PACKET_TYPE: u8 = 0x20

Source§

const NAME: &'static str = "TIMESTAMP"