Skip to main content

Module instance_tracker

Module instance_tracker 

Source
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§

InstanceState
Pro-Instanz-Buchhaltung.
InstanceTracker
Thread-safer Tracker — wird sowohl im DataWriter als auch im DataReader instanziiert.

Type Aliases§

KeyHash
16-Byte-KeyHash als Index.