Kapselt und verwaltet Datagramme des IEEE-1722-Clock-Reference-Formats zur Zeitsynchronisation in Rohdatenströmen.
Kontext
Die Klasse ara::rds::IEEE1722DatagramCRF repräsentiert innerhalb des Funktionsclusters Raw Data Stream (rds) der AUTOSAR Adaptive Platform ein Datagramm für das Clock Reference Format (CRF) nach dem Standard IEEE 1722 AUTOSAR_AP_SWS_RawDataStream S. 1. Definiert wird die Struktur in der Header-Datei ara/rds/raw_data_stream_IEEE1722.h [SWS_RDS_90304]. Die Klasse dient der Kapselung und Bereitstellung protokollspezifischer Metadaten und Synchronisationsattribute, die für die Übertragung von Taktreferenzen über Ethernet-Verbindungen erforderlich sind.
Alle Datenfelder der Klasse sind mit dem Zugriffsmodifikator protected deklariert und verwenden den Wrapper ara::core::Optional. Hierzu gehören die IEEE-1722-Headerfelder unique_id [SWS_RDS_90294], base_frequency [SWS_RDS_90295], tu [SWS_RDS_90296], pull [SWS_RDS_90297], sequenceNum [SWS_RDS_90298], mac_address [SWS_RDS_90299], type [SWS_RDS_90300], mr [SWS_RDS_90301], fs [SWS_RDS_90302] und timestamp_interval [SWS_RDS_90303]. Da der direkte Zugriff auf diese Member geschützt ist, dürfte die Klasse primär als Vererbungsbasis für konkrete, anwendungsspezifische CRF-Datagrammimplementierungen oder Serialisierungstreiber innerhalb des Datenstroms fungieren. Frage Q-0f9ddee032bd505f (offen)
Lebenszyklus
Die Zerstörung von Instanzen erfolgt über den virtuellen Destruktor ~IEEE1722DatagramCRF() noexcept [SWS_RDS_90304]. Durch die Deklaration als virtual ist die ordnungsgemäße Freigabe aller Ressourcen auch dann gewährleistet, wenn Objekte abgeleiteter Klassen über einen Zeiger auf die Basisklasse verwaltet und zerstört werden. Die Kennzeichnung mit noexcept stellt sicher, dass der Zerstörungsvorgang garantiert ausnahmefrei abläuft.
Die Erzeugung und Initialisierung von Instanzen erfolgt mangels eines eigenständigen öffentlichen Konstruktors im Payload vermutlich über abgeleitete Klassen oder modulspezifische Fabrikmechanismen. Frage (offen) Hinsichtlich der Nebenläufigkeit sind die Instanzen der Klasse nicht eigenständig threadsicher; da die Attribute aus einfachen optionalen skalaren Werten bestehen, muss ein nebenläufiger Lese- und Schreibzugriff durch übergeordnete Synchronisationsmechanismen der Anwendung koordiniert werden.
Nutzungspfad
Ein typischer Anwendungsfall umfasst die Erstellung, Konfiguration und Verarbeitung eines CRF-Datagramms im Datenstrom, gefolgt von dessen Freigabe.
Sequenzdiagramm: Typischer Verarbeitungsablauf und Lebenszyklus eines IEEE1722DatagramCRF-Objekts. Quellen: [SWS_RDS_90304], AUTOSAR_AP_SWS_RawDataStream S. 1
Zunächst instanziiert die Anwendung eine konkrete Ausprägung der CRF-Datagrammklasse. Anschließend werden die für die Taktreferenz relevanten Parameter belegt. So können beispielsweise die MAC-Adresse mac_address [SWS_RDS_90299], die Abtastfrequenz über fs [SWS_RDS_90302] bzw. base_frequency [SWS_RDS_90295] sowie das Zeitstempelintervall timestamp_interval [SWS_RDS_90303] gesetzt werden. Da alle Felder optional sind, können nicht benötigte oder unvollständige Header-Einträge im Zustand ara::core::nullopt belassen werden. Nach der Konfiguration wird das Datagramm an den Raw-Data-Stream-Kanal übergeben. Sobald die Verarbeitung abgeschlossen ist, wird die Instanz über ~IEEE1722DatagramCRF() [SWS_RDS_90304] sicher destruiert.
Fehlerszenarien
Der virtuelle Destruktor ~IEEE1722DatagramCRF() ist als noexcept deklariert [SWS_RDS_90304], sodass während des Aufräumens keine C++-Ausnahmen entweichen können und ein Programmabbruch während der Stack-Entfaltung vermieden wird.
Bei der Verwendung der Datenfelder liegt das Hauptrisiko im fehlerhaften Auslesen nicht gesetzter Werte. Vor dem Zugriff auf Werte wie unique_id [SWS_RDS_90294], sequenceNum [SWS_RDS_90298] oder tu [SWS_RDS_90296] muss die Anwendung stets prüfen, ob das jeweilige ara::core::Optional tatsächlich einen Wert enthält (z. B. via has_value()). Ein direkter dereferenzierender Zugriff auf ein leeres Optional stellt eine Vorbedingungsverletzung dar und führt zu undefiniertem Verhalten oder Fehlern.
Dieser Leitfaden wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.
gemini-3.8-flash-medium· 2026-10-13