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
User GuideKI-GENERIERT
Ermöglicht das Senden und Empfangen binärer Datenströme über eine Netzwerkverbindung an modellierten Ports.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: effb63ab8311HerkunftOffene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Ermöglicht das Senden und Empfangen binärer Datenströme über eine Netzwerkverbindung an modellierten Ports.
Die Klasse ara::rds::RawDataStreamClient dient dem Lesen und Schreiben binärer Datenströme über eine Netzwerkverbindung auf der AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_RawDataStream S. 1. Instanzen werden über die statische Fabrikmethode Create erzeugt, woraufhin die Verbindung mit Connect aufgebaut, Daten mittels ReadData und WriteData ausgetauscht und die Sitzung über Shutdown beendet wird [SWS_RDS_10482]. Als nicht kopierbarer, ausschließlich verschiebbarer Typ ist das Objekt nicht thread-sicher, weshalb nebenläufige Aufrufe anwendungsseitig synchronisiert werden müssen.
Kontext
Die Klasse ara::rds::RawDataStreamClient dient als Endpunkt für das Senden und Empfangen von binären Datenströmen über eine Netzwerkverbindung gemäß der Spezifikation AUTOSAR_AP_SWS_RawDataStream S. 1. Sie kapselt die Kommunikationsverbindung eines modellierten Ports, der zur Laufzeit über einen ara::core::InstanceSpecifier identifiziert und instanziiert wird [SWS_RDS_10482]. Anwendungssoftware nutzt die Schnittstelle, um unstrukturierte Nutzdatenmengen bidirektional zu übertragen, ohne auf nachrichtengestützte Service-Schnittstellen zurückgreifen zu müssen. Die Klasse agiert dabei als Client, der aktiv eine Verbindung zu einer Gegenstelle über das Netzwerk aufbaut und steuert.
Lebenszyklus
Die Erzeugung einer Instanz erfolgt ausschließlich über die statische Fabrikmethode Create[SWS_RDS_10482]. Diese Methode ist thread-sicher und liefert bei Erfolg die betriebsbereite Client-Instanz innerhalb eines ara::core::Result zurück. Hinsichtlich der Besitzverhältnisse ist ara::rds::RawDataStreamClient als Move-only-Typ konzipiert: Der Kopierkonstruktor [SWS_RDS_11303] sowie der Kopierzuweisungsoperator [SWS_RDS_11304] sind explizit gelöscht (=delete). Ein Transfer der Ressource ist ausschließlich über Move-Semantik via Move-Konstruktor [SWS_RDS_11305] oder Move-Zuweisung [SWS_RDS_11306] möglich. Diese Move-Operationen sind als nicht thread-sicher spezifiziert.
Im Lebenszyklus durchläuft das Objekt mehrere Phasen: Nach der erfolgreichen Instanziierung befindet sich die Verbindung im getrennten Zustand. Über den Aufruf von Connect ohne Parameter [SWS_RDS_10484] oder mit konfigurierbarer Zeitspanne [SWS_RDS_11307] wird die Netzwerkverbindung aufgebaut und in den aktiven Zustand überführt. Das Beenden der Verbindung kann explizit über Shutdown herbeigeführt werden, wodurch der Datenstrom geschlossen wird [SWS_RDS_10485]. Wird die Instanz zerstört, garantiert der Destruktor ~RawDataStreamClient das automatische Schließen und Herunterfahren einer noch offenen Verbindung [SWS_RDS_10483]. Weder die Instanzmethoden noch der Destruktor sind thread-sicher; der Zugriff auf dieselbe Instanz aus verschiedenen Threads erfordert daher externe Synchronisation.
Der typische Einsatz gliedert sich in die Phasen Initialisierung, Verbindungsaufbau, Nutzdatenübertragung und Verbindungsabbau:
Initialisierung: Die Anwendung instanziiert den Client über Create mit dem gewünschten ara::core::InstanceSpecifier[SWS_RDS_10482].
Verbindungsaufbau: Anschließend stellt der Aufruf von Connect[SWS_RDS_10484] bzw. Connect mit Timeout [SWS_RDS_11307] die Netzwerkverbindung zur Gegenstelle her.
Datenübertragung: Im verbundenen Zustand erfolgt der Datenaustausch bidirektional. Zum Senden von Daten wird WriteData aufgerufen, wobei die Daten als std::unique_ptr<ara::core::Byte[]> zusammen mit der Längenangabe übergeben werden [SWS_RDS_10487], optional mit Timeout [SWS_RDS_11310]. Zum Empfangen dient ReadData unter Angabe der maximal zu lesenden Puffergröße [SWS_RDS_10486], wahlweise ebenfalls mit Timeout [SWS_RDS_11309]. Vermutlich setzt die Durchführung von Lese- und Schreiboperationen eine zuvor erfolgreich hergestellte Verbindung voraus. Frage (offen)
Verbindungsabbau: Nach Abschluss des Datenaustauschs wird die Verbindung mittels Shutdown geordnet beendet [SWS_RDS_10485].
Sämtliche Methoden von ara::rds::RawDataStreamClient nutzen für Fehler- und Erfolgsrückmeldungen den Standardtyp ara::core::Result und sind mit noexcept deklariert, womit keine C++-Ausnahmen ausgelöst werden. Beim Verbindungsaufbau über Connect wird im Fehlerfall ein Fehlercode des Typs RdsErrc zurückgegeben [SWS_RDS_10484]. Bei den Varianten mit Zeitbegrenzung – Connect[SWS_RDS_11307], ReadData[SWS_RDS_11309] und WriteData[SWS_RDS_11310] – führt das Verstreichen der angegebenen Zeitspanne (std::chrono::milliseconds) vermutlich zu einem entsprechenden Timeout-Fehler im Result-Objekt. Frage Q-0ee603533c355c45 (offen) Ebenso dürfte ein Aufruf von Lese- oder Schreibmethoden ohne aktive Verbindung fehlschlagen und einen Fehlercode aus RdsErrc melden. Aufrufer müssen daher den Rückgabewert jedes Aufrufs auf Erfolg prüfen, bevor nachfolgende Operationen ausgeführt werden.
Dieser Klassen-Leitfaden fasst die Kernaspekte von ara::rds::RawDataStreamClient auf Basis der Spezifikation AUTOSAR Adaptive Platform R25-11 zusammen.
gemini-3.8-flash-medium· 2026-10-13