Skip to main content

Module receiver_state

Module receiver_state 

Source
Expand description

Receiver-State (DDSI-RTPS 2.5 §8.3.4 + §8.3.7.4).

Beim Empfang einer RTPS-Message haelt der Receiver einen Zustand mit:

  sourceVersion        — ProtocolVersion aus RTPS-Header
  sourceVendorId       — VendorId aus RTPS-Header
  sourceGuidPrefix     — GuidPrefix des Senders
  destGuidPrefix       — GuidPrefix des Receivers selbst
  unicastReplyLocators
  multicastReplyLocators
  haveTimestamp        — true wenn InfoTimestamp/HE.W gesehen
  timestamp            — letzte gesehene Sender-Wallclock
  messageLength        — falls vom HE-L-Flag deklariert
  messageChecksum      — falls vom HE-C-Feld deklariert
  parameters           — falls vom HE-P-Feld deklariert
  clockSkewDetected    — Heuristik: |timestamp - now| ueber Schwelle

Update-Trigger:

  • InfoSource (§8.3.8.9.4): setzt sourceVersion, sourceVendorId, sourceGuidPrefix auf die in der InfoSource-Submessage gegebenen Werte; haveTimestamp = false und Reply-Locator-Listen werden auf LOCATOR_INVALID resettet.
  • InfoTimestamp (§8.3.8.5.4): setzt haveTimestamp = true bzw. = false bei I-Flag = 1, plus timestamp = ….
  • HeaderExtension (§8.3.7.4): kombiniert mehrere Wirkungen — L- Flag aktualisiert messageLength; W-Flag setzt haveTimestamp = true + timestamp; C-Flag aktualisiert messageChecksum; P-Flag aktualisiert parameters.

Der Receiver-State ist pro RTPS-Message kurzlebig: Vor jedem decode_datagram wird er auf den Defaultwert plus destGuidPrefix initialisiert.

Structs§

ReceiverState
Receiver-State entsprechend Spec-Tabelle §8.3.4 und Update-Regeln in §8.3.7.4.