DEENESPTFRRUARHIKOZHNL

classe ara::rds::ReadDataResult

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.

[SWS_RDS_11300] · Header ara/rds/raw_data_stream.h

struct ReadDataResult {...};

Result of a RawDataStream read operation.

Header-Datei#include "ara/rds/raw_data_stream.h"
Scopenamespace ara::rds

Guide utilisateurGÉNÉRÉ PAR IA

Encapsule les données binaires lues et leur nombre d'octets à partir d'un RawDataStream avec propriété exclusive du tampon.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8e3411ab8137 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Encapsule les données binaires lues et leur nombre d'octets à partir d'un RawDataStream avec propriété exclusive du tampon.

La structure ara::rds::ReadDataResult encapsule le résultat d'une opération de lecture issue d'un flux de données brutes d'AUTOSAR Adaptive Platform (AUTOSAR_AP_SWS_RawDataStream, p. 1). Elle est générée par les méthodes ReadData et met à disposition les données binaires lues dans le tampon data conjointement avec le nombre effectif d'octets numberOfBytes [SWS_RDS_11301]. Comme le tampon est géré sous forme de std::unique_ptr, la structure transfère probablement la propriété exclusive à l'appelant et exclut la copie. Question (ouverte) Les erreurs sont signalées via le ara::core::Result englobant, raison pour laquelle le résultat doit être validé avant d'accéder aux données.

Contexte

La classe ara::rds::ReadDataResult agit dans le module rds (RawDataStream) d'AUTOSAR Adaptive Platform en tant que conteneur de résultat structuré pour les récupérations de données depuis des flux de données (AUTOSAR_AP_SWS_RawDataStream, p. 1). Sa responsabilité principale consiste à transmettre à l'application appelante les octets de données brutes lus depuis un flux de données brutes avec le nombre d'octets effectivement transféré. Dans l'ensemble du système, les partenaires d'interaction sont les instances de flux qui proposent les méthodes de lecture ReadData, ainsi que le composant applicatif respectif qui évalue le flux de données et poursuit le traitement des données [SWS_RDS_10486], [SWS_RDS_11322].

Cycle de vie

Des instances de ara::rds::ReadDataResult sont créées dans le cadre d'opérations de lecture synchrones ou limitées dans le temps. La création est initiée lorsqu'un appelant appelle la méthode ReadData(std::size_t maxLength) [SWS_RDS_10486], [SWS_RDS_11322] ou la surcharge avec surveillance temporelle ReadData(std::size_t maxLength, std::chrono::milliseconds timeout) [SWS_RDS_11309], [SWS_RDS_11323].

Les rapports de propriété et le cycle de vie de la mémoire sont déterminés de manière déterminante par l'élément de données contenu data, qui est déclaré comme std::unique_ptr<ara::core::Byte[]> [SWS_RDS_11301]. Selon l'interprétation habituelle en C++, cela signifie que ReadDataResult est probablement conçu comme un type à déplacement exclusif (move-only) et ne peut donc pas être copié, mais uniquement déplacé. Question Q-fe4b113c5852b5aa (ouverte) À la réception de l'objet, le programme appelant assume la propriété exclusive du tampon de données alloué. La destruction de l'instance entraîne automatiquement la libération de la mémoire tas réservée pour le tableau d'octets, à moins que le pointeur n'ait été préalablement extrait explicitement de l'objet. Concernant la concurrence, il n'existe aucune synchronisation interne ; l'accès concurrent à une instance depuis plusieurs threads sans verrous externes n'est pas thread-safe.

Parcours d'utilisation

Le déroulement régulier de l'utilisation de ara::rds::ReadDataResult s'articule selon les étapes suivantes :

  • Demande de l'opération de lecture : l'application appelle sur le flux ReadData avec la quantité maximale de données souhaitée maxLength [SWS_RDS_10486], [SWS_RDS_11322], complétée optionnellement par une valeur de timeout [SWS_RDS_11309], [SWS_RDS_11323].
  • Retour du conteneur de résultat : le flux lit les données binaires à partir du canal et renvoie en cas de succès un objet renseigné de type ara::core::Result<ReadDataResult> (AUTOSAR_AP_SWS_RawDataStream, p. 1).
  • Détermination de la taille : l'application lit le champ numberOfBytes [SWS_RDS_11302]. Interprétation : cette valeur devrait indiquer la quantité d'octets effectivement fournie dans le tampon, qui peut être inférieure ou égale au maxLength demandé. Question Q-12bde8c67452a632 (ouverte)
  • Traitement des données : le tampon data est déréférencé [SWS_RDS_11301] afin de traiter les octets reçus ou de les transférer dans des structures propres à l'application au moyen de la sémantique de déplacement (move).
Déroulement typique d'une opération de lecture avec ReadDataResultApplicationRawDataStreamReadData(maxLength)Lire les données et instancier ReadDataResultara::core::Result<ReadDataResult>altErfolgreicher LesevorgangAccès à numberOfBytes et dataFehlerfallÉvaluer l'erreur à partir de Result

Diagramme de séquence : déroulement typique d'une opération de lecture avec réception et évaluation de ReadDataResult. Sources : [SWS_RDS_10486], [SWS_RDS_11301], [SWS_RDS_11302], AUTOSAR_AP_SWS_RawDataStream, p. 1

Scénarios d'erreur

Les méthodes de création d'un ReadDataResult sont déclarées avec noexcept [SWS_RDS_10486], [SWS_RDS_11309], [SWS_RDS_11322], [SWS_RDS_11323], c'est pourquoi aucune exception C++ n'est levée en cas d'erreur. Au lieu de cela, le traitement des erreurs est entièrement géré via l'objet de retour ara::core::Result (AUTOSAR_AP_SWS_RawDataStream, p. 1).

Les scénarios d'erreur typiques comprennent les interruptions de flux, les requêtes de lecture non valides ou l'expiration du délai d'attente lors d'appels de lecture surveillés dans le temps [SWS_RDS_11309], [SWS_RDS_11323]. Interprétation : lors de tels échecs, le ara::core::Result ne contient probablement pas d'objet ReadDataResult valide, mais un code d'erreur correspondant. Question Q-f3f971c4789fe8e7 (ouverte) Pour l'application, cela implique comme précondition pour l'accès à data [SWS_RDS_11301] et numberOfBytes [SWS_RDS_11302] de toujours vérifier d'abord l'état de réussite de l'objet parent Result, afin d'empêcher l'accès à des pointeurs non initialisés ou à des zones mémoire non valides.

Ce guide a été généré par une IA sur la base de la spécification AUTOSAR AP R25-11.

Constantes

data variable

Data buffer returned by a read operation.

std::unique_ptr<ara::core::Byte[]> data;
numberOfBytes variable

Number of bytes in the returned data buffer.

std::size_t numberOfBytes;

Documentation des méthodes et types

variable data [SWS_RDS_11301]

std::unique_ptr<ara::core::Byte[]> data;

Data buffer returned by a read operation.

Header-Datei#include "ara/rds/raw_data_stream.h"
Scopeclass ara::rds::ReadDataResult

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_RDS_11301
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_RDS_11301@rel:R25-11#4fb66c88
Content hash
4fb66c88
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_RawDataStream.pdf#nameddest=SWS_RDS_11301
Status: valid/unmigrated Version: rel:R25-11#915a5dc4 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_RDS_11301@rel:R25-11#915a5dc4
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#4fb66c882026-09-30
  • R23-11rel:R23-11#915a5dc42026-10-14
  • R24-11rel:R24-11#915a5dc42026-10-14
  • R25-11rel:R25-11#915a5dc42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable numberOfBytes [SWS_RDS_11302]

std::size_t numberOfBytes;

Number of bytes in the returned data buffer.

Header-Datei#include "ara/rds/raw_data_stream.h"
Scopeclass ara::rds::ReadDataResult

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_RDS_11302
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_RDS_11302@rel:R25-11#43b0e44a
Content hash
43b0e44a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_RawDataStream.pdf#nameddest=SWS_RDS_11302
Status: valid/unmigrated Version: rel:R25-11#5ef0f8da Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_RDS_11302@rel:R25-11#5ef0f8da
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#43b0e44a2026-09-30
  • R23-11rel:R23-11#5ef0f8da2026-10-14
  • R24-11rel:R24-11#5ef0f8da2026-10-14
  • R25-11rel:R25-11#5ef0f8da2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill