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
Guía del usuarioGENERADO POR IA
Permite el envío y la recepción de flujos de datos binarios a través de una conexión de red en puertos modelados.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: effb63ab8311ProcedenciaPreguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Permite el envío y la recepción de flujos de datos binarios a través de una conexión de red en puertos modelados.
La clase ara::rds::RawDataStreamClient sirve para la lectura y escritura de flujos de datos binarios a través de una conexión de red en AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_RawDataStream p. 1. Las instancias se crean mediante el método de fábrica estático Create, tras lo cual se establece la conexión con Connect, se intercambian datos mediante ReadData y WriteData y se finaliza la sesión a través de Shutdown[SWS_RDS_10482]. Al ser un tipo no copiable y exclusivamente movible, el objeto no es seguro para hilos, por lo que las llamadas concurrentes deben sincronizarse en el lado de la aplicación.
Contexto
La clase ara::rds::RawDataStreamClient sirve como extremo para el envío y la recepción de flujos de datos binarios a través de una conexión de red conforme a la especificación AUTOSAR_AP_SWS_RawDataStream p. 1. Encapsula la conexión de comunicación de un puerto modelado, el cual se identifica e instancia en tiempo de ejecución a través de un ara::core::InstanceSpecifier[SWS_RDS_10482]. El software de aplicación utiliza la interfaz para transmitir cantidades de datos útiles no estructurados de forma bidireccional, sin tener que recurrir a interfaces de servicio basadas en mensajes. En este proceso, la clase actúa como cliente que establece y controla activamente una conexión con un homólogo a través de la red.
Ciclo de vida
La creación de una instancia se realiza exclusivamente a través del método de fábrica estático Create[SWS_RDS_10482]. Este método es seguro para hilos y, en caso de éxito, devuelve la instancia del cliente lista para operar dentro de un ara::core::Result. En cuanto a las relaciones de propiedad, ara::rds::RawDataStreamClient está concebido como un tipo de solo movimiento: el constructor de copia [SWS_RDS_11303] y el operador de asignación por copia [SWS_RDS_11304] están explícitamente eliminados (=delete). La transferencia del recurso solo es posible mediante semántica de movimiento a través del constructor de movimiento [SWS_RDS_11305] o de la asignación por movimiento [SWS_RDS_11306]. Estas operaciones de movimiento están especificadas como no seguras para hilos.
A lo largo de su ciclo de vida, el objeto atraviesa varias fases: tras una instanciación exitosa, la conexión se encuentra en estado desconectado. Mediante la llamada a Connect sin parámetros [SWS_RDS_10484] o con un intervalo de tiempo configurable [SWS_RDS_11307], se establece la conexión de red y se pasa al estado activo. La finalización de la conexión puede provocarse explícitamente mediante Shutdown, con lo cual se cierra el flujo de datos [SWS_RDS_10485]. Si la instancia se destruye, el destructor ~RawDataStreamClient garantiza el cierre automático y la desactivación ordenada de una conexión aún abierta [SWS_RDS_10483]. Ni los métodos de instancia ni el destructor son seguros para hilos; por lo tanto, el acceso a la misma instancia desde diferentes hilos requiere sincronización externa.
El uso típico se divide en las fases de inicialización, establecimiento de la conexión, transmisión de datos útiles y desconexión:
Inicialización: la aplicación instancia el cliente a través de Create con el ara::core::InstanceSpecifier deseado [SWS_RDS_10482].
Establecimiento de la conexión: a continuación, la llamada a Connect[SWS_RDS_10484] o Connect con tiempo de espera [SWS_RDS_11307] establece la conexión de red con el homólogo.
Transmisión de datos: en el estado conectado, el intercambio de datos se realiza de forma bidireccional. Para enviar datos se invoca WriteData, pasando los datos como std::unique_ptr<ara::core::Byte[]> junto con la especificación de longitud [SWS_RDS_10487], opcionalmente con tiempo de espera [SWS_RDS_11310]. Para la recepción sirve ReadData especificando el tamaño máximo de búfer a leer [SWS_RDS_10486], opcionalmente también con tiempo de espera [SWS_RDS_11309]. Es de suponer que la realización de operaciones de lectura y escritura presupone una conexión establecida previamente con éxito. Pregunta (abierta)
Desconexión: tras finalizar el intercambio de datos, la conexión se concluye de forma ordenada mediante Shutdown[SWS_RDS_10485].
Todos los métodos de ara::rds::RawDataStreamClient utilizan el tipo estándar ara::core::Result para las respuestas de error y éxito y están declarados con noexcept, por lo que no lanzan excepciones de C++. En el establecimiento de la conexión a través de Connect, en caso de error se devuelve un código de error del tipo RdsErrc[SWS_RDS_10484]. En las variantes con límite de tiempo (Connect[SWS_RDS_11307], ReadData[SWS_RDS_11309] y WriteData[SWS_RDS_11310]), el transcurso del intervalo de tiempo especificado (std::chrono::milliseconds) conduce probablemente a un error correspondiente de tiempo de espera en el objeto Result. Pregunta Q-0ee603533c355c45 (abierta) Asimismo, es de suponer que una llamada a métodos de lectura o escritura sin una conexión activa falle y notifique un código de error de RdsErrc. Por lo tanto, los llamadores deben comprobar el éxito del valor de retorno de cada llamada antes de ejecutar operaciones subsiguientes.
Esta guía de clases resume los aspectos fundamentales de ara::rds::RawDataStreamClient sobre la base de la especificación AUTOSAR Adaptive Platform R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán