Expand description
InstanceTracker — die zentrale Buchhaltung fuer keyed Topic-
Instanzen, sowohl auf der Writer- als auch auf der Reader-Seite.
Spec-Referenz: OMG DDS-DCPS 1.4 §2.2.2.4.2.5 (register_instance),
§2.2.2.4.2.7 (unregister_instance), §2.2.2.4.2.10 (dispose),
§2.2.2.4.2.13 (get_key_value), §2.2.2.4.2.14 (lookup_instance),
§2.2.2.5.1 (InstanceStateKind).
§Datenmodell
Wir indizieren Instanzen ueber den 16-Byte-KeyHash (XTypes 1.3 §7.6.8). Pro Instanz tragen wir:
- den vergebenen
InstanceHandle, - den Lifecycle-Zustand (
InstanceStateKind), - die Generation-Counters (
disposed,no_writers), - die Anzahl noch registrierter Writer (Reader-seitig),
- den letzten beobachteten Sample-Timestamp.
KeyHash → Handle ist eine 1:1-Map fuer die Lebenszeit des Trackers (Handles werden nicht recycled, auch wenn die Instanz disposed + purged ist; Spec laesst Recycling explizit zu, wir vermeiden es zur Test-Stabilitaet).
Structs§
- Instance
State - Pro-Instanz-Buchhaltung.
- Instance
Tracker - Thread-safer Tracker — wird sowohl im DataWriter als auch im DataReader instanziiert.
Type Aliases§
- KeyHash
- 16-Byte-KeyHash als Index.