Expand description
TypeIdentifier-Hash-Computation (XTypes 1.3 §7.3.1.2).
Der EquivalenceHash (14 byte) wird aus den ersten 14 Bytes des
MD5-Digests ueber die XCDR2-serialisierte TypeObject-Darstellung
gebildet (XTypes 1.3 §7.3.1.2.1):
EquivalenceHash(T) := MD5(xcdr2_le_bytes(T))[0..14]Cyclone DDS und Fast-DDS verwenden MD5 — daher pflicht fuer Live-Interop.
- Fuer
MinimalTypeObject T:EK_MINIMAL-Hash - Fuer
CompleteTypeObject T:EK_COMPLETE-Hash
Aus dem Hash wird ein TypeIdentifier der Kind EK_MINIMAL bzw.
EK_COMPLETE gebaut — dieser ist die “strongly-hashed” Form des
TypeObjects, wie sie ueber SEDP (PID_TYPE_INFORMATION) und
TypeLookup-Service zwischen Peers ausgetauscht wird.
Functions§
- compute_
complete_ hash - Wie
compute_minimal_hash, nur fuerCompleteTypeObject. - compute_
hash - Berechnet den 14-byte-EquivalenceHash eines TypeObjects.
- compute_
minimal_ hash - Wie
compute_hash, aber direkt ueberMinimalTypeObject(ohne EquivalenceKind-Discriminator-Wrapper-Clone). Schreibt selbst den EK_MINIMAL-Discriminator vor den Body. - hash_
bytes - Rohe Hash-Funktion: MD5 + Truncate auf 14 byte.
- to_
hashed_ type_ identifier - Shortcut: baut einen strongly-hashed TypeIdentifier aus einem
TypeObject. Wraps
compute_hashin den passendenEquivalenceHash*- TypeIdentifier-Variant abhaengig von Minimal/Complete.