Skip to main content

Module dds_type

Module dds_type 

Source
Expand description

DdsType — der Trait, den User-Typen erfuellen muessen, um ueber DDS verschickt zu werden.

§Usage

User-Typen erfuellen den Trait entweder per Hand oder ueber die Codegen-Pipeline zerodds-idl-rust (IDL → Rust mit abgeleitetem DdsType-Impl). Die Encoder-/Decoder-Paerchen folgen XCDR2-Konvention (siehe zerodds-cdr); der Trait bleibt transport- und qos-agnostisch.

§Interop-Hinweis

Fuer Interop mit Cyclone/Fast-DDS MUSS der TYPE_NAME exakt mit dem Remote-Topic-Typnamen uebereinstimmen (strict equality). Das IDL-Type-Namespacing (z.B. std_msgs::msg::String) muss beruecksichtigt werden.

Structs§

DdsAny
IDL-any als Type-Erasure-Wrapper. Traegt einen Type-Identifier- String (z.B. "std_msgs::Header") plus die Payload-Bytes.
DdsTypeRow
RowAccess-Adapter fuer einen DdsType-Sample-Wert. Wird vom DataReader in read_w_condition/take_w_condition und vom ContentFilteredTopic-Filter benutzt.
PlainCdr2BeKeyHolder
Convenience-Builder fuer einen PLAIN_CDR2-BE-KeyHolder-Stream.
RawBytes
Ein opaker Raw-Byte-Payload mit konfigurierbarem Type-Name (per impl von BytesPayload<T> oder via newtype).

Enums§

DecodeError
Platzhalter-Error fuer DdsType::decode.
EncodeError
Platzhalter-Error fuer DdsType::encode. In v1.3 wird das auf zerodds_cdr::EncodeError re-exported, sobald wir den CDR-Layer in DCPS-Sicht stabilisiert haben.
Extensibility
XTypes 1.3 §7.4.5 Struct-Extensibility-Kind. Wire-relevante Information fuer den Sample-Encoder; gleicht den IDL-Annotationen @final / @appendable / @mutable.

Constants§

KEY_HASH_LEN
Wire-Laenge eines KeyHash (Spec: 16 Byte).

Traits§

DdsType
Typ, der via DDS published/subscribed werden kann.

Functions§

compute_key_hash
Berechnet den 16-Byte KeyHash einer Instanz aus dem PLAIN_CDR2-BE serialisierten KeyHolder-Byte-Stream.

Type Aliases§

ExtensibilityKind
Spec-aligned Alias: zerodds-xcdr2-rust §2 referenziert die Extensibility-Enum unter dem Namen ExtensibilityKind. Wir behalten Extensibility als Implementations-Name; beide sind via Alias identisch.