Expand description
HistoryCache — geordnete Sample-Ablage fuer Reliable Writer/Reader.
DDSI-RTPS 2.5 §8.4.8. Beide Seiten (Writer + Reader) halten je eine eigene Cache-Instanz:
- Writer-Cache: per
write()abgelegteCacheChanges, aus denen auf AckNack-Request hin re-gesendet wird. Entfernt Samples erst, wenn alle matched Reader sie via AckNack bestaetigt haben. - Reader-Cache: empfangene
CacheChanges in SN-Reihenfolge, fuer in-order Delivery an die Applikations-Schicht. Kann viaremove_up_tonach Delivery geleert werden.
History-QoS (WP 1.4 T3-Follow-up): der Cache wird ueber
HistoryKind konfiguriert — KeepAll (hart-begrenzt, Error bei
Overflow) vs. KeepLast(depth) (Ring-Buffer, aeltestes Sample faellt
bei Overflow heraus). KeepLast ist Spec-gerecht (§8.7.4) und
entkoppelt Writer-Cache-GC von Reader-ACKNACK-Progress — ein
stalled Reader verhindert damit nicht mehr, dass andere
Reader weitere Samples bekommen (“per-destination queue”-Modell).
Structs§
- Cache
Change - Einzelner Cache-Eintrag.
- History
Cache - Geordnete Sample-Ablage.
- History
Cache Snapshot - Plain-Old-Data-Snapshot der
HistoryCache-Statistiken zu einem einzelnen Zeitpunkt. Wird vonHistoryCacheStats::snapshoterzeugt; jede Komponente ist mitAcquire-Ordering geladen. - History
Cache Stats - Atomar-aktualisierte Snapshot-Statistik eines
HistoryCache. - Lock
Free Inner - Innerer Zustand des
LockFreeReadHistoryCache. Wird vonLockFreeReadHistoryCache::snapshotalsArc<LockFreeInner>nach aussen gegeben — Reader iterieren ueberchangesdirekt. - Lock
Free Read History Cache HistoryCache-Variante mit lock-free Lese-Pfad via RCU/Copy-on-Write.
Enums§
- Cache
Error - Fehler-Varianten fuer Cache-Operationen.
- Change
Kind - Art eines Cache-Eintrags (DDSI-RTPS §8.2.1.2 / §8.7.2.2.2).
- History
Kind - History-QoS (DDSI-RTPS §8.7.4, Spec Table 17).