Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
Dient als Basisklasse zur Kapselung von IEEE-1722-Nutzdatenpuffern und Längenangaben im Raw-Data-Streaming.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 187f3b1b82ddHerkunftOffene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Dient als Basisklasse zur Kapselung von IEEE-1722-Nutzdatenpuffern und Längenangaben im Raw-Data-Streaming.
Die Klasse ara::rds::IEEE1722Datagram dient im Modul rds als Basisklasse zur Kapselung von IEEE-1722-Streaming-Datagrammen (AUTOSAR_AP_SWS_RawDataStream S. 1). Sie verwaltet über das geschützte Attribut data den dynamischen Byte-Puffer im exklusiven Besitz und hält mit stream_data_length die jeweilige Nutzdatenlänge vor. Die Freigabe der allokierten Pufferressourcen erfolgt deterministisch und ausnahmefrei über den virtuellen Destruktor ~IEEE1722Datagram()[SWS_RDS_90228]. Eine interne Synchronisation für nebenläufige Zugriffe existiert nicht, sodass threadübergreifende Nutzungen extern abgesichert werden müssen.
Kontext
Die Klasse ara::rds::IEEE1722Datagram fungiert im Modul rds (Raw Data Stream) der AUTOSAR Adaptive Platform als Basisrepräsentation für Datagramme nach dem IEEE-1722-Standard (AUTOSAR_AP_SWS_RawDataStream S. 1). Sie wird über den Header ara/rds/raw_data_stream_IEEE1722.h deklariert und dient als strukturelles Fundament für den Transport zeitkritischer Streaming-Daten im Fahrzeugnetzwerk, insbesondere über das Audio Video Transport Protocol (AVTP).
Interpretation: Durch die Bereitstellung geschützter Attribute und eines virtuellen Destruktors dürfte ara::rds::IEEE1722Datagram als gemeinsame Basisklasse für verschiedene spezialisierte AVTP-Datagrammstrukturen dienen. Frage Q-bb382ff193640c8f (offen) Die Spezifikation definiert in diesem Kontext verwandte Typen wie IEEE1722DatagramAVTPDUCommonHeaderFields[SWS_RDS_90233], IEEE1722DatagramAVTPDUCommonStreamHeaderFields[SWS_RDS_90242], IEEE1722Datagram61883_IIDC[SWS_RDS_90260], IEEE1722DatagramAAF[SWS_RDS_90273] sowie IEEE1722DatagramTSCF[SWS_RDS_90275]. Diese Interaktionspartner bilden gemeinsam das Protokollgerüst für unterschiedliche Payload-Formate ab.
Der Lebenszyklus einer Datagramm-Instanz wird maßgeblich durch die Verwaltung des zugehörigen Datenpuffers und das RAII-Paradigma bestimmt. Das Attribut data ist als std::unique_ptr<ara::core::Byte[]> geschützt deklariert [SWS_RDS_90226]. Dies etabliert ein exklusives Besitzverhältnis: Ein Datagramm besitzt seinen Byte-Puffer exklusiv, wodurch unbeabsichtigtes Kopieren großer Datenmengen auf Typ-Ebene unterbunden wird.
Zusammen mit dem Puffer wird die Länge der gültigen Nutzdaten über das geschützte Feld stream_data_length vom Typ std::uint16_t geführt [SWS_RDS_90227]. Die Freigabe der Ressourcen erfolgt deterministisch: Die Klasse stellt einen virtuellen Destruktor ~IEEE1722Datagram() noexcept bereit [SWS_RDS_90228]. Dieser stellt sicher, dass bei der Zerstörung abgeleiteter Instanzen über einen Zeiger auf die Basisklasse sämtliche Ressourcen vollständig und ohne Speicherlecks freigegeben werden.
Hinsichtlich der Nebenläufigkeit enthält die Basisklasse keine internen Synchronisationsmechanismen. Vermutlich erfordert der gleichzeitige Zugriff auf dieselbe Datagramm-Instanz aus mehreren Threads eine externe Koordination durch die anwendende Komponente. Frage (offen)
Nutzungspfad
In einem typischen Verarbeitungsablauf innerhalb des Raw-Data-Streamings erfolgt die Nutzung über konkrete Protokollausprägungen wie IEEE1722DatagramAAF[SWS_RDS_90273] oder IEEE1722DatagramTSCF[SWS_RDS_90275]:
Erzeugung und Pufferallokation: Eine spezialisierte Datagramm-Instanz wird instanziiert, und der geschützte Datenpuffer data wird als std::unique_ptr<ara::core::Byte[]> mit dem erforderlichen Speicherbereich initialisiert [SWS_RDS_90226].
Längenfestlegung: Die tatsächliche Nutzdatenlänge des Streams wird in stream_data_length hinterlegt [SWS_RDS_90227].
Übergabe und Verarbeitung: Interpretation: Das Datagramm dürfte vorzugsweise mittels Move-Semantik durch die Verarbeitungspipeline des Moduls rds transportiert werden, um unnötige Kopieroperationen von Streaming-Daten zu vermeiden. Frage Q-ff084c9788ec5cdc (offen)
Zerstörung: Nach Abschluss der Verarbeitung verlässt das Datagramm seinen Gültigkeitsbereich; der virtuelle Destruktor ~IEEE1722Datagram() wird aufgerufen und der Puffer automatisch deallokiert [SWS_RDS_90228].
Fehlerszenarien
Fehler im Umgang mit ara::rds::IEEE1722Datagram können insbesondere bei der Speicherverwaltung und Grenzwertprüfung auftreten:
Speicherallokationsfehler: Schlägt die Allokation des dynamischen Byte-Arrays für data fehl, kann dies zu einer Standard-Speicherausnahme (std::bad_alloc) führen, bevor das Datagramm gültig bereitgestellt wird [SWS_RDS_90226].
Längeninkonsistenz: Wird für stream_data_length ein Wert eingetragen, der die reale Größe des über data allokierten Speichers überschreitet, drohen bei lesenden Zugriffen Pufferüberläufe [SWS_RDS_90227]. Abgeleitete Klassen müssen die Konsistenz zwischen Pufferallokation und Längenangabe sicherstellen.
Ausnahmesicherheit beim Abbau: Der Destruktor ist explizit als noexcept deklariert [SWS_RDS_90228]. Dadurch ist garantiert, dass bei der Zerstörung des Objekts keine Ausnahmen propagiert werden, was für die Stabilität von RAII-Ketten essenziell ist.
Dieser Leitfaden wurde durch eine KI auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.
gemini-3.8-flash-medium· 2026-10-13