DEENESPTFRRUARHIKOZHNL

klasse ara::diag::DataTransferReadSharedDataHandler

[SWS_DM_01497] Upstream: RS_Diag_04135

class DataTransferReadSharedDataHandler {...};

Handles data transfers initiated by RequestReadFile/-Directory with shared data from the implementation.

Header-Datei#include "ara/diag/data_transfer.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

User GuideAI-GEGENEREERD

Maakt het uitlezen van complete bestanden of mappen mogelijk via gedeelde geheugengebieden bij diagnoseverzoeken.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 4c654c39d186 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt het uitlezen van complete bestanden of mappen mogelijk via gedeelde geheugengebieden bij diagnoseverzoeken.

De klasse ara::diag::DataTransferReadSharedDataHandler dient voor de afhandeling van lezende diagnose-gegevensoverdrachten voor bestands- en mapinhoud via gedeeld geheugen ([SWS_DM_01497]). Na de start van de sessie stelt de applicatie-implementatie de volledige gegevens beschikbaar als Shared Data View via Read() en houdt de gealloceerde buffer vast tot de vrijgavemelding door de ReleaseHandler ([SWS_DM_01504]). Vóór de vernietiging van het handlerspecifieke object moet de overdrachtssessie dwingend via ExitRead() worden afgesloten. Het object is uitsluitend bestemd voor een afzonderlijke overdrachtssessie en mag daarom worden verplaatst, maar niet worden gekopieerd.

Context

De klasse ara::diag::DataTransferReadSharedDataHandler behoort tot het diagnosedomein van het AUTOSAR Adaptive Platform in de module diag (AUTOSAR_AP_SWS_Diagnostics §8.10.5 “Class: DataTransferReadSharedDataHandler”). Haar kerntaak bestaat uit de afhandeling van gegevensoverdrachten voor bestands- en mapinhoud die worden gestart door UDS-verzoeken zoals RequestReadFile of RequestReadDirectory ([SWS_DM_01497]). In plaats van afzonderlijke kopieerstappen voor elk overdrachtsblok stelt deze handler de applicatiespecifieke implementatie in staat om de volledige gegevens beschikbaar te stellen als een aaneengesloten, gedeeld geheugengebied.

In het totale systeemverloop werken drie hoofdactoren samen: de externe UDS-client verzendt het leesverzoek naar de regeleenheid. De diagnose-runtime-omgeving AraDiag neemt het verzoek in ontvangst en stuurt de uitvoering door naar de concrete implementatie van DataTransferReadSharedDataHandler ([SWS_DM_01497], [SWS_DM_01504]). Een derde partner, de ReleaseHandler, signaleert aan de applicatie zodra de gedeelde geheugenbronnen niet meer nodig zijn voor het platform en mogen worden vrijgegeven ([SWS_DM_01504]).

DataTransferContext UdsClient UDS-Client AraDiag AraDiag UdsClient->AraDiag UDS RequestReadFile / RequestReadDirectory AraDiag->UdsClient UDS-Antwortdaten Handler DataTransferReadSharedDataHandler AraDiag->Handler Read() / ExitRead() ReleaseHandler ReleaseHandler AraDiag->ReleaseHandler Freigabebenachrichtigung Handler->AraDiag Shared Data (Span) / Vector ReleaseHandler->Handler Speicherfreigabe signalisiert

Contextdiagram: samenspel tussen UDS-client, AraDiag-runtime-omgeving en de handler-implementatie aan applicatiezijde. Bronnen: [SWS_DM_01497], [SWS_DM_01504], [SWS_DM_01505]

Levenscyclus

Het aanmaken van de handler gebeurt via de parameterloze standaardconstructor ([SWS_DM_01498], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.1 “Default Constructor”). Met betrekking tot eigendomsverhoudingen geldt het principe van eenmalig gebruik: handlers mogen niet worden gekopieerd, aangezien een instantie exclusief gebonden is aan een afzonderlijke bestandsoverdrachtssessie ([SWS_DM_01501], [SWS_DM_01503]). Zowel de kopieerconstructor (AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.2.1 “DataTransferReadSharedDataHandler”) als de kopieertoekenningsoperator zijn daarom gemarkeerd als delete. Een overdracht van instanties is mogelijk via verplaatsingsoperaties: verplaatsingsconstructor ([SWS_DM_01500], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.2 “Move Constructor”) en verplaatsingstoekenningsoperator ([SWS_DM_01502]) zijn gedeclareerd als default en noexcept.

Voor de vernietiging van het object geldt een strikte preconditie: een instantie van deze klasse mag in geen geval worden vernietigd voordat de overdrachtssessie formeel is beëindigd door de aanroep van ExitRead() ([SWS_DM_01499], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.3 “Destructor”). Pas na voltooiing van deze afsluitende behandeling mag de virtuele destructor worden uitgevoerd ([SWS_DM_01499]).

Wat betreft gelijktijdigheid zijn de centrale methoden Read() en ExitRead() aangeduid als niet-thread-safe (not thread-safe), terwijl alle functies van de interface uitzonderingsveiligheid (exception safe) garanderen ([SWS_DM_01498], [SWS_DM_01504], [SWS_DM_01505]).

Gebruikspad

De typische aanroepvolgorde van een gegevensoverdracht met gedeelde geheugengebieden omvat meerdere stappen:

  • Beschikbaarstelling van de Shared Data: AraDiag roept de zuiver virtuele methode Read() aan en geeft een ReleaseHandler, MetaInfo en een CancellationHandler mee ([SWS_DM_01504]). De applicatie alloceert de volledige bestands- respectievelijk mapinhoud en geeft de gedeelde weergave daarvan als ara::core::Span<ara::core::Byte> via een ara::core::Future terug aan AraDiag ([SWS_DM_01504]).
  • Geheugenbehoud en vrijgave: de applicatie moet het gealloceerde geheugen dwingend intact houden totdat de ReleaseHandler signaleert dat het geheugengebied veilig kan worden vrijgegeven ([SWS_DM_01504]). De applicatie kan hiervoor een notifier-functie registreren bij de ReleaseHandler of de status ervan actief opvragen ([SWS_DM_01504]). Interpretatie: de signalering via de ReleaseHandler vindt vermoedelijk asynchroon plaats door AraDiag, zodra de gegevensblokken succesvol naar de UDS-client zijn verzonden. Vraag Q-0fbc1c5e667c9a68 (open)
  • Sessie-afsluiting: voor het beëindigen van de overdracht roept AraDiag de methode ExitRead() aan ([SWS_DM_01505], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 “ExitRead”). Naast de beëindigingsreden (DataTransferExitType) worden voertuigfabrikantspecifieke verzoekparameters meegegeven, waarvan de levensduur gegarandeerd is tot de vervulling van de resultaat-promise ([SWS_DM_01505]). De applicatie levert de antwoordgegevens via een ara::core::Future<ara::core::Vector<ara::core::Byte>> terug ([SWS_DM_01505]).
  • Objectvernietiging: na een succesvolle aanroep van ExitRead() mag de handler-instantie worden vrijgegeven en vernietigd ([SWS_DM_01499]).
Verloop van de lezende shared-data-transferAraDiagDataTransferReadSharedDataHandlerReleaseHandlerRead(release_handler, meta_info, cancellation_handler)Speicher allozieren & Shared Data View erstellenFuture<Span<Byte>> met Shared Data ViewUse Case: SpeicherfreigabeNotifier aanroepen of status instellenSpeicherfreigabe signalisiertAlloziierten Puffer freigebenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancellation_handler)Future<Vector<Byte>> (OperationOutput)

Sequentiediagram: stappenvolgorde van de gegevensbeschikbaarstelling via Read() over de geheugenvrijgave tot de afsluiting via ExitRead(). Bronnen: [SWS_DM_01499], [SWS_DM_01504], [SWS_DM_01505]

Foutscenario's

Treden er bij het beschikbaar stellen van de gegevens of bij het beëindigen van de overdracht fouten op, dan worden deze via de desbetreffende ara::core::Future gemeld met een ara::core::ErrorCode uit het domein DiagUdsNrcErrc conform ISO 14229-1 ([SWS_DM_01504], [SWS_DM_01505]).

Een ander scenario vormt het afbreken van een lopende diagnoseconversatie. Beide methoden ontvangen een CancellationHandler ([SWS_DM_01504], [SWS_DM_01505]). De applicatie kan via cancellation_handler.IsCanceled() de afbreekstatus synchroon controleren of via cancellation_handler.SetNotifier() een meldingsfunctie instellen om bij voortijdig afbreken direct te reageren ([SWS_DM_01504], [SWS_DM_01505]).

Een schending van de preconditie met betrekking tot de destructor – wanneer het object wordt vernietigd voordat ExitRead() is aangeroepen – is in strijd met voorschrift [SWS_DM_01499] en leidt tot foutieve programmatoestanden.

Deze klassenhandleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform Release R25-11.

Ledenkaart

Klassendiagram

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__DataTransferReadSharedDataHandler544 DataTransferReadSharedDataHandler + DataTransferReadSharedDataHandler() + ~DataTransferReadSharedDataHandler() + ExitRead() + Read() + operator=()

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

Constructs an instance of this class.

Overloads DataTransferReadSharedDataHandler 3
DataTransferReadSharedDataHandler () noexcept=default; SWS_DM_01498
DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default; SWS_DM_01500
DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete; SWS_DM_01501

Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called.

virtual ~DataTransferReadSharedDataHandler () noexcept=default;

Methoden

ExitRead functie

Exits an ongoing data transfer session.

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;
Read functie

Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler’s notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released.

virtual auto Read (ReleaseHandler release_handler, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0;

Operatoren

operator= functie 2

Move assigns an instance of this class.

Overloads = 2
auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default; SWS_DM_01502
auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete; SWS_DM_01503

Documentatie van de methoden

functie DataTransferReadSharedDataHandler [SWS_DM_01498] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler () noexcept=default;

Constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01498
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01498@rel:R25-11#3c2e5172
Content hash
3c2e5172
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01498
Status: valid/unmigrated Version: rel:R25-11#9b4d17d4 Versionshistorie & Revisions (1 transition, 5 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_DM_01498@rel:R25-11#9b4d17d4
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9604c17f2026-09-30
  • R22-11rel:R22-11#484fb5092026-10-14
  • R23-11rel:R23-11#8a81d7d52026-10-14
  • R24-11rel:R24-11#b779c4dd2026-10-14
  • R25-11rel:R25-11#9b4d17d42026-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

functie DataTransferReadSharedDataHandler [SWS_DM_01500] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe

Parameter (out)

ParameterBeschreibung
otherThe other object

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

Record
AUTOSAR/AP/record/SWS_DM_01500
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01500@rel:R25-11#3f11b636
Content hash
3f11b636
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01500
Status: valid/unmigrated Version: rel:R25-11#8e1ba0c2 Versionshistorie & Revisions (1 transition, 5 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_DM_01500@rel:R25-11#8e1ba0c2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e2f2ec4a2026-09-30
  • R22-11rel:R22-11#2549265b2026-10-14
  • R23-11rel:R23-11#4fc7fa8a2026-10-14
  • R24-11rel:R24-11#115062c32026-10-14
  • R25-11rel:R25-11#8e1ba0c22026-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

functie DataTransferReadSharedDataHandler [SWS_DM_01501] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01501@rel:R25-11#3058d854
Content hash
3058d854
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01501
Status: valid/unmigrated Version: rel:R25-11#78df071e Versionshistorie & Revisions (1 transition, 5 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_DM_01501@rel:R25-11#78df071e
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#d442aedb2026-09-30
  • R22-11rel:R22-11#231201f12026-10-14
  • R23-11rel:R23-11#6acf11902026-10-14
  • R24-11rel:R24-11#97f451652026-10-14
  • R25-11rel:R25-11#78df071e2026-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

functie ExitRead [SWS_DM_01505] Upstream: RS_Diag_04135

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

Exits an ongoing data transfer session.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 8bcba929adb6 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De interface ExitRead van de klasse ara::diag::DataTransferReadSharedDataHandler ([SWS_DM_01505]; header ara/diag/data_transfer.h) beëindigt een lopende gegevensoverdrachtsessie.

Gebruik en parameters

De aanroep vindt asynchroon plaats en retourneert een ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]; AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 “ExitRead”). De volgende parameters worden overgedragen:

  • exit_type (DataTransferExitType): Specificeert de reden voor het beëindigen van de sessie.
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): Bevat fabrikantspecifieke parameters ter ondersteuning van de overdracht. De gegevens blijven geldig totdat de bijbehorende Promise is vervuld of de verwerking wordt afgebroken.
  • meta_info (MetaInfo const&): Bevat aanvullende meta-informatie van het diagnoseverzoek.
  • cancellation_handler (CancellationHandler): Maakt de controle van de annuleringsstatus via cancellation_handler.IsCanceled() mogelijk, evenals de registratie van een notificatiefunctie via cancellation_handler.SetNotifier(), die wordt aangeroepen bij annulering van de conversatie.

Foutafhandeling en retourwaarden

Bij succesvolle afronding stelt de Future de uitvoergegevens (transferResponseParameterRecord) beschikbaar, die in het positieve antwoord achter de SID worden geplaatst [SWS_DM_01505]. In geval van een fout wordt de Future vervuld met een foutcode uit DiagUdsNrcErrc (toepasselijke NRC conform ISO 14229-1) [SWS_DM_01505].

Gelijktijdigheid en levenscyclus

De methode is gedeclareerd als noexcept (exception safe), maar expliciet gespecificeerd als not thread-safe [SWS_DM_01505]. Wat betreft de levenscyclus van het object geldt het voorschrift dat een instantie van DataTransferReadSharedDataHandler in geen geval vernietigd mag worden voordat ExitRead() is aangeroepen ([SWS_DM_01499]). Analoge beëindigingsfuncties en destructorvereisten bestaan voor de verwante klassen DataTransferReadByPullHandler ([SWS_DM_01514]) en DataTransferReadByPushHandler ([SWS_DM_01523]).

Deze gebruiksinstructie is opgesteld door een AI en is gebaseerd op de specificaties van het AUTOSAR Adaptive Platform.

Implementer's Guide volgt (complexiteit I2)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
exit_typeSpecifies the exit reason
transfer_request_This parameter record contains parameter(s), which are required
parameter_recordby the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
meta_infocontains additional meta information of the request.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<ara::core::Byte > >Returns a Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01505@rel:R25-11#5d6742a6
Content hash
5d6742a6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01505
Status: valid/unmigrated Version: rel:R25-11#e1792911 Versionshistorie & Revisions (1 transition, 5 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_DM_01505@rel:R25-11#e1792911
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#620bca3b2026-09-30
  • R22-11rel:R22-11#6fa010712026-10-14
  • R23-11rel:R23-11#aed9f17a2026-10-14
  • R24-11rel:R24-11#70ebc8d42026-10-14
  • R25-11rel:R25-11#e17929112026-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

functie Read [SWS_DM_01504] Upstream: RS_Diag_04135

virtual auto Read (ReleaseHandler release_handler, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0;

Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler’s notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: cba844c9db1e Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode Read van de interface ara::diag::DataTransferReadSharedDataHandler stelt uit te lezen bestands- of directorydata beschikbaar voor de UDS-client via een gedeelde geheugenweergave ([SWS_DM_01504]). De aanroep vindt asynchroon plaats en geeft een ara::core::Future met een ara::core::Span<ara::core::Byte> terug ([SWS_DM_01504]).

Gebruik en levenscyclus

De implementerende applicatie alloceert de volledige inhoud zelf en draagt de view over aan AraDiag. Het onderliggende geheugengebied moet verplicht ongewijzigd beschikbaar blijven totdat de vrijgave via de overgedragen ReleaseHandler door de notifier ervan is gesignaleerd of via een statuscontrole is opgevraagd ([SWS_DM_01504]). De ReleaseHandler moet voor dezelfde UDS-client worden opgeslagen aan de hand van de MetaInfo ([SWS_DM_01504]). Via de CancellationHandler kan een lopende overdracht via IsCanceled() worden bewaakt of kan een annuleringsnotifier via SetNotifier() worden geregistreerd ([SWS_DM_01504]).

Foutafhandeling en gelijktijdigheid

In het geval van succes worden de data als transferResponseParameterRecord na het blockSequenceCounter verzonden ([SWS_DM_01504]). Als het uitlezen mislukt, moet de Future worden voltooid met een passende foutcode uit DiagUdsNrcErrc conform ISO 14229-1 ([SWS_DM_01504]). Als de interface van de applicatie nog niet of niet meer via offer() beschikbaar is gesteld, meldt de server NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). De functie is gespecificeerd als noexcept en uitzonderingsveilig, maar geldt als niet-thread-safe (not thread-safe) ([SWS_DM_01504]).

Afbakening

In tegenstelling tot DataTransferReadByPullHandler::Read, waarbij datablokken naar een vooraf bepaalde buffer worden gekopieerd ([SWS_DM_01513]), of DataTransferReadByPushHandler::Read, dat vectoren levert via eigendomsoverdracht ([SWS_DM_01522]), draagt deze handler de volledige inhoud over zonder bufferkopie via gedeeld geheugen ([SWS_DM_01504]).

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-standaard.

Implementer's Guide volgt (complexiteit I1)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
release_handlerThe release shared resource handler to be stored and used by the application until a new one is passed for the same meta_info (UDS client).
meta_infoContains additional meta information.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Span<ara::core::Byte > >Returns a Future, which either gets readied to ReadSharedOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in ReleaseSharedHandler.responseData will be placed after the blockSequenceCounter as transferResponseParameterRecord in the positive response.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01504
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01504@rel:R25-11#2b350d63
Content hash
2b350d63
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01504
Status: valid/unmigrated Version: rel:R25-11#70152a76 Versionshistorie & Revisions (1 transition, 5 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_DM_01504@rel:R25-11#70152a76
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c2d856732026-09-30
  • R22-11rel:R22-11#2ac3f98c2026-10-14
  • R23-11rel:R23-11#a77ff00a2026-10-14
  • R24-11rel:R24-11#cb8092b92026-10-14
  • R25-11rel:R25-11#70152a762026-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

functie operator= [SWS_DM_01502] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default;

Move assigns an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadSharedDataHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01502
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01502@rel:R25-11#a85e3ade
Content hash
a85e3ade
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01502
Status: valid/unmigrated Version: rel:R25-11#832e8a63 Versionshistorie & Revisions (1 transition, 5 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_DM_01502@rel:R25-11#832e8a63
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1624a5042026-09-30
  • R22-11rel:R22-11#e14988b02026-10-14
  • R23-11rel:R23-11#50b572f72026-10-14
  • R24-11rel:R24-11#267467a32026-10-14
  • R25-11rel:R25-11#832e8a632026-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

functie operator= [SWS_DM_01503] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01503
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01503@rel:R25-11#d6ff2e00
Content hash
d6ff2e00
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01503
Status: valid/unmigrated Version: rel:R25-11#b992cd12 Versionshistorie & Revisions (1 transition, 5 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_DM_01503@rel:R25-11#b992cd12
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#12b3008f2026-09-30
  • R22-11rel:R22-11#82fbd70f2026-10-14
  • R23-11rel:R23-11#c35f38a12026-10-14
  • R24-11rel:R24-11#15d3796f2026-10-14
  • R25-11rel:R25-11#b992cd122026-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

functie ~DataTransferReadSharedDataHandler [SWS_DM_01499] Upstream: RS_Diag_04135

virtual ~DataTransferReadSharedDataHandler () noexcept=default;

Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01499
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01499@rel:R25-11#41ea2a89
Content hash
41ea2a89
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01499
Status: valid/unmigrated Version: rel:R25-11#885ef68d Versionshistorie & Revisions (1 transition, 5 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_DM_01499@rel:R25-11#885ef68d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9cd521aa2026-09-30
  • R22-11rel:R22-11#8b4091042026-10-14
  • R23-11rel:R23-11#404559c12026-10-14
  • R24-11rel:R24-11#e200ae122026-10-14
  • R25-11rel:R25-11#885ef68d2026-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