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.
Serves as a base class for encapsulating IEEE 1722 payload buffers and length specifications in raw data streaming.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 187f3b1b82ddProvenanceOpen questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Serves as a base class for encapsulating IEEE 1722 payload buffers and length specifications in raw data streaming.
The class ara::rds::IEEE1722Datagram serves in module rds as a base class for encapsulating IEEE 1722 streaming datagrams (AUTOSAR_AP_SWS_RawDataStream p. 1). Via the protected attribute data, it manages the dynamic byte buffer in exclusive ownership and holds the respective payload length with stream_data_length. Releasing allocated buffer resources takes place deterministically and without exceptions via the virtual destructor ~IEEE1722Datagram()[SWS_RDS_90228]. Internal synchronization for concurrent accesses does not exist, so cross-thread usages must be guarded externally.
Context
Class ara::rds::IEEE1722Datagram acts in module rds (Raw Data Stream) of the AUTOSAR Adaptive Platform as a base representation for datagrams according to the IEEE 1722 standard (AUTOSAR_AP_SWS_RawDataStream p. 1). It is declared via header ara/rds/raw_data_stream_IEEE1722.h and serves as a structural foundation for transporting time-critical streaming data in the in-vehicle network, particularly via the Audio Video Transport Protocol (AVTP).
Interpretation: By providing protected attributes and a virtual destructor, ara::rds::IEEE1722Datagram is likely to serve as a common base class for various specialized AVTP datagram structures. Question Q-bb382ff193640c8f (open) In this context, the specification defines related types such as IEEE1722DatagramAVTPDUCommonHeaderFields[SWS_RDS_90233], IEEE1722DatagramAVTPDUCommonStreamHeaderFields[SWS_RDS_90242], IEEE1722Datagram61883_IIDC[SWS_RDS_90260], IEEE1722DatagramAAF[SWS_RDS_90273], and IEEE1722DatagramTSCF[SWS_RDS_90275]. Together, these interaction partners represent the protocol framework for different payload formats.
The lifecycle of a datagram instance is significantly determined by the management of the associated data buffer and the RAII paradigm. The attribute data is declared protected as std::unique_ptr<ara::core::Byte[]>[SWS_RDS_90226]. This establishes an exclusive ownership relationship: A datagram owns its byte buffer exclusively, preventing accidental copying of large amounts of data at the type level.
Together with the buffer, the length of the valid payload is maintained via the protected field stream_data_length of type std::uint16_t[SWS_RDS_90227]. Resource release takes place deterministically: The class provides a virtual destructor ~IEEE1722Datagram() noexcept[SWS_RDS_90228]. This ensures that when derived instances are destroyed via a pointer to the base class, all resources are released completely and without memory leaks.
Regarding concurrency, the base class contains no internal synchronization mechanisms. Simultaneous access to the same datagram instance from multiple threads presumably requires external coordination by the using component. Question (open)
Usage Path
In a typical processing flow within raw data streaming, usage takes place via concrete protocol specializations such as IEEE1722DatagramAAF[SWS_RDS_90273] or IEEE1722DatagramTSCF[SWS_RDS_90275]:
Creation and buffer allocation: A specialized datagram instance is instantiated, and the protected data buffer data is initialized as std::unique_ptr<ara::core::Byte[]> with the required memory area [SWS_RDS_90226].
Length specification: The actual payload length of the stream is stored in stream_data_length[SWS_RDS_90227].
Passing and processing: Interpretation: The datagram is likely to be transported preferably by means of move semantics through the processing pipeline of module rds in order to avoid unnecessary copy operations of streaming data. Question Q-ff084c9788ec5cdc (open)
Destruction: After processing is complete, the datagram leaves its scope; the virtual destructor ~IEEE1722Datagram() is called and the buffer is deallocated automatically [SWS_RDS_90228].
Error Scenarios
Errors when handling ara::rds::IEEE1722Datagram can occur particularly during memory management and boundary checking:
Memory allocation error: If the allocation of the dynamic byte array for data fails, this can lead to a standard memory exception (std::bad_alloc) before the datagram is validly provided [SWS_RDS_90226].
Length inconsistency: If a value exceeding the real size of the memory allocated via data is entered for stream_data_length, buffer overflows threaten during read accesses [SWS_RDS_90227]. Derived classes must ensure consistency between buffer allocation and length specification.
Exception safety during destruction: The destructor is explicitly declared as noexcept[SWS_RDS_90228]. This guarantees that no exceptions are propagated during the destruction of the object, which is essential for the stability of RAII chains.
This guide was generated by an AI based on the AUTOSAR Adaptive R25-11 specification.
gemini-3.8-flash-low· 2026-10-13 · German original