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.
Служит базовым классом для инкапсуляции буферов полезных данных IEEE 1722 и указаний длины при потоковой передаче необработанных данных (raw data streaming).
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 187f3b1b82ddПроисхождениеОткрытые вопросы (2)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Служит базовым классом для инкапсуляции буферов полезных данных IEEE 1722 и указаний длины при потоковой передаче необработанных данных (raw data streaming).
Класс ara::rds::IEEE1722Datagram служит в модуле rds базовым классом для инкапсуляции потоковых датаграмм IEEE 1722 (AUTOSAR_AP_SWS_RawDataStream с. 1). Через защищенный атрибут data он управляет динамическим байтовым буфером в режиме монопольного владения и хранит с помощью stream_data_length соответствующую длину полезных данных. Освобождение выделенных ресурсов буфера происходит детерминированно и без исключений через виртуальный деструктор ~IEEE1722Datagram()[SWS_RDS_90228]. Внутренняя синхронизация для параллельного доступа отсутствует, поэтому межпотоковое использование должно быть защищено извне.
Контекст
Класс ara::rds::IEEE1722Datagram выступает в модуле rds (Raw Data Stream) платформы AUTOSAR Adaptive Platform базовым представлением для датаграмм по стандарту IEEE 1722 (AUTOSAR_AP_SWS_RawDataStream с. 1). Он объявляется через заголовочный файл ara/rds/raw_data_stream_IEEE1722.h и служит структурным фундаментом для передачи критичных ко времени потоковых данных в автомобильной сети, в частности по Audio Video Transport Protocol (AVTP).
Интерпретация: благодаря предоставлению защищенных атрибутов и виртуального деструктора ara::rds::IEEE1722Datagram, вероятно, служит общим базовым классом для различных специализированных структур датаграмм AVTP. Вопрос Q-bb382ff193640c8f (открытый) Спецификация определяет в этом контексте родственные типы, такие как IEEE1722DatagramAVTPDUCommonHeaderFields[SWS_RDS_90233], IEEE1722DatagramAVTPDUCommonStreamHeaderFields[SWS_RDS_90242], IEEE1722Datagram61883_IIDC[SWS_RDS_90260], IEEE1722DatagramAAF[SWS_RDS_90273], а также IEEE1722DatagramTSCF[SWS_RDS_90275]. Эти партнеры по взаимодействию совместно формируют каркас протокола для различных форматов полезной нагрузки (payload).
Жизненный цикл экземпляра датаграммы в решающей степени определяется управлением соответствующим буфером данных и парадигмой RAII. Атрибут data объявлен защищённым как std::unique_ptr<ara::core::Byte[]>[SWS_RDS_90226]. Это устанавливает исключительное владение: датаграмма монопольно владеет своим байтовым буфером, что предотвращает непреднамеренное копирование больших объёмов данных на уровне типов.
Вместе с буфером ведётся учёт длины действительных полезных данных с помощью защищённого поля stream_data_length типа std::uint16_t[SWS_RDS_90227]. Освобождение ресурсов происходит детерминированно: класс предоставляет виртуальный деструктор ~IEEE1722Datagram() noexcept[SWS_RDS_90228]. Он гарантирует, что при уничтожении производных экземпляров через указатель на базовый класс все ресурсы будут освобождены полностью и без утечек памяти.
С точки зрения конкурентности базовый класс не содержит внутренних механизмов синхронизации. Предположительно, одновременный доступ к одному и тому же экземпляру датаграммы из нескольких потоков требует внешней координации со стороны применяющего компонента. Вопрос (открытый)
Путь использования
В типичном процессе обработки в рамках потоковой передачи необработанных данных (Raw Data Streaming) использование осуществляется через конкретные реализации протокола, такие как IEEE1722DatagramAAF[SWS_RDS_90273] или IEEE1722DatagramTSCF[SWS_RDS_90275]:
Создание и выделение буфера: создаётся специализированный экземпляр датаграммы, а защищённый буфер данных data инициализируется как std::unique_ptr<ara::core::Byte[]> с требуемой областью памяти [SWS_RDS_90226].
Определение длины: фактическая длина полезных данных потока сохраняется в stream_data_length[SWS_RDS_90227].
Передача и обработка: Интерпретация: датаграмма, скорее всего, перемещается по конвейеру обработки модуля rds с использованием семантики перемещения, чтобы избежать ненужных операций копирования потоковых данных. Вопрос Q-ff084c9788ec5cdc (открытый)
Уничтожение: после завершения обработки датаграмма выходит из своей области видимости; вызывается виртуальный деструктор ~IEEE1722Datagram(), и буфер автоматически освобождается [SWS_RDS_90228].
Сценарии ошибок
Ошибки при работе с ara::rds::IEEE1722Datagram могут возникать, в частности, при управлении памятью и проверке граничных значений:
Ошибка выделения памяти: в случае сбоя выделения динамического байтового массива для data это может привести к стандартному исключению памяти (std::bad_alloc) до того, как датаграмма будет корректно предоставлена [SWS_RDS_90226].
Несогласованность длины: если для stream_data_length указано значение, превышающее фактический размер памяти, выделенной через data, при операциях чтения возникает угроза переполнения буфера [SWS_RDS_90227]. Производные классы должны обеспечивать согласованность между выделением буфера и указанием длины.
Безопасность исключений при демонтаже: деструктор явно объявлен как noexcept[SWS_RDS_90228]. Это гарантирует, что при уничтожении объекта исключения не распространяются, что существенно для стабильности цепочек RAII.
Данное руководство было сгенерировано ИИ на основе спецификации AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал