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
Guide utilisateurGÉNÉRÉ PAR IA
Permet l'émission et la réception de flux de données binaires via une connexion réseau sur des ports modélisés.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : effb63ab8311ProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Permet l'émission et la réception de flux de données binaires via une connexion réseau sur des ports modélisés.
La classe ara::rds::RawDataStreamClient sert à la lecture et à l'écriture de flux de données binaires via une connexion réseau sur l'AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_RawDataStream p. 1. Les instances sont créées via la méthode fabrique statique Create, après quoi la connexion est établie avec Connect, les données sont échangées au moyen de ReadData et WriteData et la session est terminée via Shutdown[SWS_RDS_10482]. En tant que type non copiable et exclusivement déplaçable, l'objet n'est pas thread-safe, raison pour laquelle les appels concurrents doivent être synchronisés côté application.
Contexte
La classe ara::rds::RawDataStreamClient sert de point de terminaison pour l'émission et la réception de flux de données binaires via une connexion réseau conformément à la spécification AUTOSAR_AP_SWS_RawDataStream p. 1. Elle encapsule la liaison de communication d'un port modélisé, qui est identifié et instancié à l'exécution via un ara::core::InstanceSpecifier[SWS_RDS_10482]. Le logiciel applicatif utilise l'interface pour transférer de manière bidirectionnelle des volumes de données utiles non structurées, sans devoir recourir à des interfaces de service basées sur des messages. La classe agit ainsi en tant que client, qui établit et contrôle activement une connexion vers un homologue via le réseau.
Cycle de vie
La création d'une instance s'effectue exclusivement via la méthode fabrique statique Create[SWS_RDS_10482]. Cette méthode est thread-safe et renvoie en cas de succès l'instance de client opérationnelle au sein d'un ara::core::Result. Concernant les relations de propriété, ara::rds::RawDataStreamClient est conçu comme un type exclusivement déplaçable (move-only) : le constructeur de copie [SWS_RDS_11303] ainsi que l'opérateur d'assignation par copie [SWS_RDS_11304] sont explicitement supprimés (=delete). Un transfert de la ressource n'est possible que via la sémantique de déplacement au moyen du constructeur de déplacement [SWS_RDS_11305] ou de l'assignation par déplacement [SWS_RDS_11306]. Ces opérations de déplacement sont spécifiées comme non thread-safe.
Au cours de son cycle de vie, l'objet traverse plusieurs phases : après une instanciation réussie, la connexion se trouve à l'état déconnecté. Via l'appel de Connect sans paramètre [SWS_RDS_10484] ou avec une durée configurable [SWS_RDS_11307], la connexion réseau est établie et passe à l'état actif. La fin de la connexion peut être provoquée explicitement via Shutdown, fermant ainsi le flux de données [SWS_RDS_10485]. Si l'instance est détruite, le destructeur ~RawDataStreamClient garantit la fermeture automatique et l'arrêt d'une connexion encore ouverte [SWS_RDS_10483]. Ni les méthodes d'instance ni le destructeur ne sont thread-safe ; l'accès à la même instance depuis différents threads requiert donc une synchronisation externe.
L'utilisation typique s'articule selon les phases d'initialisation, d'établissement de la connexion, de transfert des données utiles et de libération de la connexion :
Initialisation : l'application instancie le client via Create avec le ara::core::InstanceSpecifier souhaité [SWS_RDS_10482].
Établissement de la connexion : ensuite, l'appel de Connect[SWS_RDS_10484] ou Connect avec délai d'attente (timeout) [SWS_RDS_11307] établit la connexion réseau vers l'homologue.
Transfert de données : à l'état connecté, l'échange de données a lieu de manière bidirectionnelle. Pour envoyer des données, WriteData est appelé, les données étant transmises en tant que std::unique_ptr<ara::core::Byte[]> accompagnées de l'indication de longueur [SWS_RDS_10487], optionnellement avec délai d'attente [SWS_RDS_11310]. Pour la réception, ReadData est utilisé en spécifiant la taille maximale de tampon à lire [SWS_RDS_10486], au choix également avec délai d'attente [SWS_RDS_11309]. L'exécution des opérations de lecture et d'écriture présuppose vraisemblablement une connexion préalablement établie avec succès. Question (ouverte)
Libération de la connexion : une fois l'échange de données terminé, la connexion est arrêtée de manière ordonnée au moyen de Shutdown[SWS_RDS_10485].
Toutes les méthodes de ara::rds::RawDataStreamClient utilisent le type standard ara::core::Result pour les retours d'erreur et de succès et sont déclarées avec noexcept, n'émettant ainsi aucune exception C++. Lors de l'établissement de la connexion via Connect, un code d'erreur de type RdsErrc est renvoyé en cas d'erreur [SWS_RDS_10484]. Pour les variantes avec limitation de durée – Connect[SWS_RDS_11307], ReadData[SWS_RDS_11309] et WriteData[SWS_RDS_11310] –, l'expiration de la durée spécifiée (std::chrono::milliseconds) conduit probablement à une erreur de dépassement de délai (timeout) correspondante dans l'objet Result. Question Q-0ee603533c355c45 (ouverte) De même, un appel de méthodes de lecture ou d'écriture sans connexion active devrait échouer et signaler un code d'erreur issu de RdsErrc. Les appelants doivent donc vérifier le succès de la valeur de retour de chaque appel avant d'exécuter des opérations ultérieures.
Ce guide de classe résume les aspects essentiels de ara::rds::RawDataStreamClient sur la base de la spécification AUTOSAR Adaptive Platform R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand