Expand description
RTPS-Wire-Basistypen (DDSI-RTPS 2.5 §8.3.5, §8.3.5.1).
Diese Typen sind die Atome des RTPS-Wire-Formats: GUID-Komponenten, Sequence-Numbers, Locators. Sie sind alle reine Byte-Strukturen mit festem Layout (kein XCDR-Alignment, kein Endianness-Tagging am Typ — die Endianness eines Submessage-Stream-Slices kommt aus dem Submessage-Header E-Flag).
§Konvention
read_from_le/read_from_be: Decoder mit expliziter Endianness.write_to_le/write_to_be: Encoder symmetrisch.WIRE_SIZE: Konstante mit der festen Bytezahl auf der Wire.
Structs§
- Entity
Id EntityId: 4-byte Endpoint-Identifier innerhalb eines Participants. Layout: 3 Byteentity_key+ 1 Byteentity_kind.- Fragment
Number FragmentNumber: 32-bit unsigned, 1-basiert (Fragment #1 ist das erste Fragment eines Samples).UNKNOWN= 0 wird als Sentinel verwendet, ist aber kein gueltiges Fragment.- Guid
Guid: GuidPrefix + EntityId = 16 Bytes. Eindeutiger Identifier eines Endpunkts global.- Guid
Prefix GuidPrefix: 12-byte-Prefix einer GUID. Identifiziert einen Participant; bleibt fuer alle Endpoints des Participants gleich.- Locator
Locator: 24-byte Adresse (kind + port + 16-byte address).- Protocol
Version ProtocolVersion: Major + Minor des RTPS-Protokolls. Aktuell 2.5.- Sequence
Number SequenceNumber: 64-bit signed, encoded als (high: i32, low: u32). Beide Felder werden mit der aktiven Submessage-Endianness geschrieben.- UExtension4
UExtension4_t— 4-byte vendor-spezifischer Extension-Slot. Spec §8.3.2: opaker 32-bit-Wert, Vendor entscheidet ueber Bedeutung; Receiver propagiert den Wert perextensions-Feld in den Receiver-State.- Vendor
Id VendorId: 2-byte Vendor-Identifier. ZeroDDS nutzt0x01F0als Interim-Wert aus dem OMG-Entwickler-Range, bis ein offizieller VendorId beantragt wird.- WExtension8
WExtension8_t— 8-byte vendor-spezifischer Extension-Slot. Spec §8.3.2: opaker 64-bit-Wert (analog UExtension4_t fuer Felder die 8 Byte brauchen, z.B. fuer 64-bit-Counter).
Enums§
- Entity
Kind EntityKind: Klassifikation eines Endpunkts. Spec-Tabelle 9.1.- Locator
Kind LocatorKind: Adress-Familie eines Locators.
Constants§
- SPDP_
DEFAULT_ MULTICAST_ ADDRESS - SPDP-Default-Multicast-Adresse (Spec §9.6.1.4.1):
239.255.0.1. - SPDP_
DISCOVERY_ MULTICAST_ OFFSET - Multicast-Discovery-Port-Offset (Spec §9.6.1.4.1, d0).
- SPDP_
DOMAIN_ GAIN - Domain-spezifischer Port-Offset (Spec §9.6.1.4.1, DG).
- SPDP_
PORT_ BASE - SPDP-Discovery-Port-Base (Spec §9.6.1.4.1, PB).
Functions§
- spdp_
multicast_ port - Berechnet den SPDP-Multicast-Discovery-Port fuer eine Domain. Formel (Spec §9.6.1.4.1): port = PB + DG * domain_id + d0 = 7400 + 250 * domain + 0