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.
Object for reading and writing binary data streams over a network connection.
Header-Datei
#include "ara/rds/raw_data_stream.h"
Scope
namespace ara::rds
Руководство пользователяСОЗДАНО ИИ
Обеспечивает отправку и прием двоичных потоков данных через сетевое соединение на смоделированных портах.
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: effb63ab8311ПроисхождениеОткрытые вопросы (3)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Обеспечивает отправку и прием двоичных потоков данных через сетевое соединение на смоделированных портах.
Класс ara::rds::RawDataStreamClient служит для чтения и записи двоичных потоков данных через сетевое соединение на AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_RawDataStream с. 1. Экземпляры создаются через статический фабричный метод Create, после чего устанавливается соединение с помощью Connect, выполняется обмен данными посредством ReadData и WriteData и сеанс завершается через Shutdown[SWS_RDS_10482]. Будучи некопируемым, исключительно перемещаемым типом, объект не является потокобезопасным, вследствие чего параллельные вызовы должны синхронизироваться на стороне приложения.
Контекст
Класс ara::rds::RawDataStreamClient служит конечной точкой для отправки и приема двоичных потоков данных через сетевое соединение согласно спецификации AUTOSAR_AP_SWS_RawDataStream с. 1. Он инкапсулирует коммуникационное соединение смоделированного порта, который во время выполнения идентифицируется и инстанцируется через ara::core::InstanceSpecifier[SWS_RDS_10482]. Прикладное программное обеспечение использует интерфейс для двунаправленной передачи неструктурированных объемов полезных данных без необходимости прибегать к сервисным интерфейсам на основе сообщений. При этом класс действует как клиент, который активно устанавливает соединение с противоположной стороной через сеть и управляет им.
Жизненный цикл
Создание экземпляра выполняется исключительно через статический фабричный метод Create[SWS_RDS_10482]. Этот метод является потокобезопасным и при успешном выполнении возвращает готовый к работе экземпляр клиента внутри ara::core::Result. Что касается отношений владения, ara::rds::RawDataStreamClient спроектирован как тип только для перемещения (move-only): конструктор копирования [SWS_RDS_11303], а также оператор присваивания с копированием [SWS_RDS_11304] явно удалены (=delete). Передача ресурса возможна исключительно через семантику перемещения посредством конструктора перемещения [SWS_RDS_11305] или присваивания с перемещением [SWS_RDS_11306]. Эти операции перемещения специфицированы как непотокобезопасные.
В течение жизненного цикла объект проходит несколько фаз: после успешного инстанцирования соединение находится в отключенном состоянии. Посредством вызова Connect без параметров [SWS_RDS_10484] или с конфигурируемым интервалом времени [SWS_RDS_11307] сетевое соединение устанавливается и переводится в активное состояние. Завершение соединения может быть вызвано явно с помощью Shutdown, в результате чего поток данных закрывается [SWS_RDS_10485]. Если экземпляр уничтожается, деструктор ~RawDataStreamClient гарантирует автоматическое закрытие и останов еще открытого соединения [SWS_RDS_10483]. Ни методы экземпляра, ни деструктор не являются потокобезопасными; поэтому доступ к одному и тому же экземпляру из разных потоков требует внешней синхронизации.
Типичное использование подразделяется на фазы инициализации, установления соединения, передачи полезных данных и разрыва соединения:
Инициализация: приложение инстанцирует клиент через Create с требуемым ara::core::InstanceSpecifier[SWS_RDS_10482].
Установление соединения: затем вызов Connect[SWS_RDS_10484] или Connect с таймаутом [SWS_RDS_11307] устанавливает сетевое соединение с противоположной стороной.
Передача данных: в подключенном состоянии обмен данными осуществляется двунаправленно. Для отправки данных вызывается WriteData, при этом данные передаются как std::unique_ptr<ara::core::Byte[]> вместе с указанием длины [SWS_RDS_10487], опционально с таймаутом [SWS_RDS_11310]. Для приема служит ReadData с указанием максимального считываемого размера буфера [SWS_RDS_10486], по выбору также с таймаутом [SWS_RDS_11309]. Предположительно, выполнение операций чтения и записи требует предварительно успешно установленного соединения. Вопрос (открытый)
Разрыв соединения: после завершения обмена данными соединение штатно завершается с помощью Shutdown[SWS_RDS_10485].
Все методы ara::rds::RawDataStreamClient используют для обратной связи об ошибках и успешном выполнении стандартный тип ara::core::Result и объявлены с noexcept, благодаря чему исключения C++ не генерируются. При установлении соединения через Connect в случае ошибки возвращается код ошибки типа RdsErrc[SWS_RDS_10484]. В вариантах с ограничением по времени — Connect[SWS_RDS_11307], ReadData[SWS_RDS_11309] и WriteData[SWS_RDS_11310] — истечение указанного интервала времени (std::chrono::milliseconds), по всей видимости, приводит к соответствующей ошибке таймаута в объекте Result. Вопрос Q-0ee603533c355c45 (открытый) Равным образом вызов методов чтения или записи без активного соединения, вероятно, завершится сбоем и вернет код ошибки из RdsErrc. Поэтому вызывающие стороны должны проверять возвращаемое значение каждого вызова на успешность перед выполнением последующих операций.
Данное руководство по классу обобщает ключевые аспекты ara::rds::RawDataStreamClient на основе спецификации AUTOSAR Adaptive Platform R25-11.
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал