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.
Kapselt gelesene Binärdaten und deren Bytezahl aus einem RawDataStream mit exklusiver Puffer-Eigentümerschaft.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8e3411ab8137HerkunftOffene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Kapselt gelesene Binärdaten und deren Bytezahl aus einem RawDataStream mit exklusiver Puffer-Eigentümerschaft.
Die Struktur ara::rds::ReadDataResult kapselt das Ergebnis eines Lesevorgangs aus einem Rohdatenstrom der AUTOSAR Adaptive Platform (AUTOSAR_AP_SWS_RawDataStream, S. 1). Sie wird von den Methoden ReadData erzeugt und stellt die gelesenen Binärdaten im Puffer data zusammen mit der tatsächlichen Bytezahl numberOfBytes bereit [SWS_RDS_11301]. Da der Puffer als std::unique_ptr verwaltet wird, überträgt die Struktur vermutlich die exklusive Eigentümerschaft an den Aufrufer und schließt Kopieren aus. Frage (offen) Fehler werden über das umschließende ara::core::Result gemeldet, weshalb das Ergebnis vor dem Zugriff auf die Daten validiert werden muss.
Kontext
Die Klasse ara::rds::ReadDataResult fungiert im Modul rds (RawDataStream) der AUTOSAR Adaptive Platform als strukturierter Ergebnisbehälter für Datenabrufe aus Datenströmen (AUTOSAR_AP_SWS_RawDataStream, S. 1). Ihre primäre Verantwortung besteht darin, die von einem Rohdatenstrom gelesenen Rohdatenbytes zusammen mit der tatsächlich übertragenen Bytezahl an die aufrufende Anwendung zu übergeben. Als Interaktionspartner treten im Systemverbund die Stream-Instanzen auf, welche die Lesemethoden ReadData anbieten, sowie die jeweilige Anwendungskomponente, die den Datenstrom auswertet und die Daten weiterverarbeitet [SWS_RDS_10486], [SWS_RDS_11322].
Lebenszyklus
Instanzen von ara::rds::ReadDataResult entstehen im Rahmen von synchronen oder zeitbegrenzten Leseoperationen. Die Erzeugung wird initiiert, wenn ein Aufrufer die Methode ReadData(std::size_t maxLength)[SWS_RDS_10486], [SWS_RDS_11322] oder die Überladung mit Zeitüberwachung ReadData(std::size_t maxLength, std::chrono::milliseconds timeout)[SWS_RDS_11309], [SWS_RDS_11323] aufruft.
Die Besitzverhältnisse und der Speicherlebenszyklus werden maßgeblich durch das enthaltene Datenelement data bestimmt, welches als std::unique_ptr<ara::core::Byte[]> deklariert ist [SWS_RDS_11301]. Dies bedeutet nach gängiger C++-Interpretation, dass ReadDataResult vermutlich als Move-Only-Typ konzipiert ist und somit nicht kopiert, sondern ausschließlich verschoben werden kann. Frage Q-fe4b113c5852b5aa (offen) Das aufrufende Programm übernimmt mit dem Empfang des Objekts die alleinige Eigentümerschaft am allokierten Datenpuffer. Die Zerstörung der Instanz führt automatisch zur Freigabe des reservierten Heapspeichers des Byte-Arrays, sofern der Zeiger nicht zuvor explizit aus dem Objekt entnommen wurde. Bezüglich Nebenläufigkeit existiert keine interne Synchronisation; der konkurrierende Zugriff auf eine Instanz aus mehreren Threads ohne externe Sperren ist nicht threadsicher.
Nutzungspfad
Der reguläre Ablauf zur Nutzung von ara::rds::ReadDataResult gliedert sich in folgende Teilschritte:
Rückgabe des Result-Containers: Der Stream liest die Binärdaten aus dem Kanal und liefert bei Erfolg ein befülltes Objekt vom Typ ara::core::Result<ReadDataResult> zurück (AUTOSAR_AP_SWS_RawDataStream, S. 1).
Größenbestimmung: Die Anwendung liest das Feld numberOfBytes aus [SWS_RDS_11302]. Interpretation: Dieser Wert dürfte die tatsächlich im Puffer bereitgestellte Bytemenge angeben, die kleiner oder gleich dem angeforderten maxLength sein kann. Frage Q-12bde8c67452a632 (offen)
Datenverarbeitung: Der Puffer data wird dereferenziert [SWS_RDS_11301], um die empfangenen Bytes zu verarbeiten oder per Move-Semantik in anwendungseigene Strukturen zu überführen.
Typische Fehlerszenarien umfassen Stream-Unterbrechungen, ungültige Leseanforderungen oder das Verstreichen der Wartezeit bei zeitüberwachten Leseaufrufen [SWS_RDS_11309], [SWS_RDS_11323]. Interpretation: In solchen Fehlschlägen enthält das ara::core::Result vermutlich kein valides ReadDataResult-Objekt, sondern einen entsprechenden Fehlercode. Frage Q-f3f971c4789fe8e7 (offen) Für die Anwendung bedeutet dies als Vorbedingung für den Zugriff auf data[SWS_RDS_11301] und numberOfBytes[SWS_RDS_11302], stets zuerst den Erfolgszustand des übergeordneten Result-Objekts zu prüfen, um den Zugriff auf nicht initialisierte Zeiger oder ungültige Speicherbereiche zu verhindern.
Dieser Leitfaden wurde von einer KI auf Basis der Spezifikation AUTOSAR AP R25-11 erzeugt.
gemini-3.8-flash-medium· 2026-10-13