DEENESPTFRRUARHIKOZHNL

class ara::diag::DataTransferReadByPullHandler

[SWS_DM_01506] Upstream: RS_Diag_04135

class DataTransferReadByPullHandler {...};

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

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

User GuideKI-GENERIERT

Ermöglicht der Diagnose-Laufzeitumgebung das schrittweise Abrufen von Datei- und Verzeichnisdaten aus einer Applikation.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a81aee002281 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht der Diagnose-Laufzeitumgebung das schrittweise Abrufen von Datei- und Verzeichnisdaten aus einer Applikation.

Die Klasse ara::diag::DataTransferReadByPullHandler dient der Bereitstellung von Datei- oder Verzeichnisdaten, die von der Diagnoseschicht AraDiag im Rahmen einer UDS-Leseoperation aktiv aus der Anwendung abgerufen werden ([SWS_DM_01506]). Der Ablauf umfasst den schrittweisen Datenabruf über Read() bis zum finalen Sitzungsabschluss über ExitRead(). Als strikte Lebenszyklus-Bedingung darf eine Handler-Instanz, die genau einer einzelnen Transfersitzung zugeordnet ist, keinesfalls vor dem Aufruf von ExitRead() zerstört werden ([SWS_DM_01510]).

Kontext

Die Klasse ara::diag::DataTransferReadByPullHandler ([SWS_DM_01506], AUTOSAR_AP_SWS_Diagnostics §8.10.2 „Class: DataTransferReadByPullHandler“) wickelt Datentransfers ab, die durch Diagnoseanforderungen zum Lesen von Dateien oder Verzeichnissen (wie RequestReadFile oder RequestReadDirectory) initiiert wurden. Die Architektur basiert auf einem Pull-Verfahren, bei dem die Diagnoseschicht AraDiag die zu übertragenden Daten aktiv aus der Implementierung abfragt („pulled“).

An der Interaktion sind drei Komponenten beteiligt: der externe UDS-Client (Diagnosetester), das Diagnose-Subsystem AraDiag und die anwendungsspezifische Handler-Implementierung. Der externe Client sendet Leseanfragen, woraufhin AraDiag die Methoden des Handlers aufruft, um schrittweise Datenchunky bereitzustellen und an den UDS-Client zu übermitteln ([SWS_DM_01513]).

Lebenszyklus

Der Lebenszyklus einer Handler-Instanz ist exklusiv an eine einzelne Dateitransfersitzung gebunden. Der Standardkonstruktor ist protected deklariert ([SWS_DM_01507]). Interpretation: Die konkrete Anwendung dürfte daher eine abgeleitete Subklasse implementieren und instanziieren. Frage Q-cb78bc4a1d40968b (offen)

Kopieroperationen sind vollständig deaktiviert: Der Kopierkonstruktor ([SWS_DM_01509]) und der Kopierzuweisungsoperator ([SWS_DM_01512]) sind als gelöscht (=delete) spezifiziert, da Handler für die Einweg-Nutzung innerhalb einer Sitzung bestimmt sind („only one way usage i.e. per single file transfer session“). Verschiebeoperationen (Move Constructor und Move Assignment) sind dagegen als Standardimplementierung definiert und als noexcept deklariert ([SWS_DM_01508], [SWS_DM_01511], AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.1.1 „Move Constructor“).

Für die Freigabe gilt eine strikte Vorbedingung: Eine Instanz der Klasse darf keinesfalls zerstört werden, bevor die Methode ExitRead() aufgerufen wurde ([SWS_DM_01510], AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.1.2 „Destructor“). Bezüglich der Nebenläufigkeit sind die Schnittstellenmethoden Read() und ExitRead() als nicht threadsicher („not thread-safe“), aber ausnahmesicher (noexcept) definiert ([SWS_DM_01513], [SWS_DM_01514]).

Nutzungspfad

Der reguläre Ablauf eines Datenabrufs gliedert sich in folgende Schritte:

  1. Initialisierung: Die Anwendung instanziiert die abgeleitete Handler-Klasse für die anstehende Transfersitzung.
  2. Datenabruf: Zur Bereitstellung der Datenblöcke ruft AraDiag die Methode Read() auf ([SWS_DM_01513], AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.3.2 „Read“). Die Anwendung erhält eine Speicheransicht response_data (vom Typ ara::core::Span<const ara::core::Byte>) auf einen von AraDiag vorallokierten Puffer, füllt diesen mit den nächsten Dateiinhalten und schließt das ara::core::Future<std::uint32_t> mit der geschriebenen Bytezahl ab. AraDiag fügt diese Daten hinter dem Blocksequenzzähler (blockSequenceCounter) als transferResponseParameterRecord in die positive UDS-Antwort ein ([SWS_DM_01513]). Dieser Schritt wird für nachfolgende Chunks wiederholt.
  3. Sitzungsabschluss: Zum regulären Beenden der Übertragung ruft AraDiag ExitRead() auf ([SWS_DM_01514], AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.3.1 „ExitRead“). Übergeben werden der Beendigungsgrund exit_type, herstellerspezifische Parameter (transfer_request_parameter_record), meta_info und ein cancellation_handler. Die Implementierung quittiert dies über ein ara::core::Future<ara::core::Vector<ara::core::Byte>>, dessen Rückgabewerte hinter der SID in der positiven Antwort übermittelt werden ([SWS_DM_01514]).
  4. Freigabe: Erst nach erfolgtem Aufruf von ExitRead() darf das Handler-Objekt zerstört werden ([SWS_DM_01510]).
Ablauf eines Datentransfers per Pull-VerfahrenUDS-ClientAraDiagHandlerLeseanforderung (RequestReadFile/-Directory)Read(response_data, meta_info, cancellation_handler)Datenblock in response_data schreibenFuture<uint32_t> (geschriebene Bytezahl)Positive UDS-Antwort (Datenblock)Abschlussanforderung (TransferExit)ExitRead(exit_type, transfer_request_parameter_record, ...)Future<Vector<Byte>> (Bestätigung/Zusatzdaten)Positive UDS-Antwort (TransferExit)

Sequenzdiagramm: Typischer Ablauf des Datenabrufs per Pull-Verfahren über AraDiag. Quellen: [SWS_DM_01513], [SWS_DM_01514]

Fehlerszenarien

Treten bei der Datenaufbereitung oder beim Abschluss Fehler auf, meldet die Anwendung dies über das zurückgegebene Future, indem sie es mit einem UDS-Fehlercode (DiagUdsNrcErrc nach ISO 14229-1) bereitstellt ([SWS_DM_01513], [SWS_DM_01514]). AraDiag generiert daraufhin die entsprechende negative UDS-Antwort (NRC) an den Tester.

Für den vorzeitigen Abbruch wird beiden Methoden ein CancellationHandler übergeben ([SWS_DM_01513], [SWS_DM_01514]). Die Anwendung kann über cancellation_handler.IsCanceled() prüfen, ob die Konversation abgebrochen wurde, oder via cancellation_handler.SetNotifier() eine Rückruffunktion registrieren. Die bereitgestellten Puffer (response_data und transfer_request_parameter_record) bleiben bis zur Erfüllung des Promises bzw. bis zum Abbruch über den Handler gültig.

Wird die Instanz vor dem Aufruf von ExitRead() zerstört, liegt eine Verletzung der Spezifikationsvorgabe vor ([SWS_DM_01510]), was zu unvollständigen Transfersitzungen und undefinierten Systemzuständen führen kann.

Dieser Klassen-Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive R25-11 und fasst die Anforderungen an die Schnittstelle ara::diag::DataTransferReadByPullHandler zusammen.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__DataTransferReadByPullHandler313 DataTransferReadByPullHandler + DataTransferReadByPullHandler() + ~DataTransferReadByPullHandler() + ExitRead() + Read() + operator=()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructs an instance of this class.

Überladungen DataTransferReadByPullHandler 3
DataTransferReadByPullHandler () noexcept=default; SWS_DM_01507
DataTransferReadByPullHandler (DataTransferReadByPullHandler &&other) noexcept=default; SWS_DM_01508
DataTransferReadByPullHandler (DataTransferReadByPullHandler const &)=delete; SWS_DM_01509

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

virtual ~DataTransferReadByPullHandler () noexcept=default;

Methoden

ExitRead function

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 function

Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and copied into the provided by ara::diag Span with up to the requested Span size.

virtual auto Read (ara::core::Span< const ara::core::Byte > response_ data, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< std::uint32_t >=0;

Operatoren

operator= function 2

Move assigns an instance of this class.

Überladungen = 2
auto operator= (DataTransferReadByPullHandler &&other) & noexcept -> DataTransferReadByPullHandler & =default; SWS_DM_01511
auto operator= (DataTransferReadByPullHandler const &) -> DataTransfer ReadByPullHandler &=delete; SWS_DM_01512

Dokumentation der Methoden

function DataTransferReadByPullHandler [SWS_DM_01507] Upstream: RS_Diag_04135

DataTransferReadByPullHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01507
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01507@rel:R25-11#326df67e
Content hash
326df67e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01507
Status: valid/unmigrated Version: rel:R25-11#60e90ec2 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_01507@rel:R25-11#60e90ec2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#326df67e2026-09-30
  • R22-11rel:R22-11#5e0a297b2026-10-14
  • R23-11rel:R23-11#c1526a6f2026-10-14
  • R24-11rel:R24-11#c9a8ba842026-10-14
  • R25-11rel:R25-11#60e90ec22026-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

function DataTransferReadByPullHandler [SWS_DM_01508] Upstream: RS_Diag_04135

DataTransferReadByPullHandler (DataTransferReadByPullHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPullHandler
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_01508
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01508@rel:R25-11#017f4b22
Content hash
017f4b22
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01508
Status: valid/unmigrated Version: rel:R25-11#86fd98f3 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_01508@rel:R25-11#86fd98f3
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#017f4b222026-09-30
  • R22-11rel:R22-11#2ef417eb2026-10-14
  • R23-11rel:R23-11#11faa0bb2026-10-14
  • R24-11rel:R24-11#8d1119962026-10-14
  • R25-11rel:R25-11#86fd98f32026-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

function DataTransferReadByPullHandler [SWS_DM_01509] Upstream: RS_Diag_04135

DataTransferReadByPullHandler (DataTransferReadByPullHandler const &)=delete;

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

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

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

Record
AUTOSAR/AP/record/SWS_DM_01509
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01509@rel:R25-11#22037eeb
Content hash
22037eeb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01509
Status: valid/unmigrated Version: rel:R25-11#23947b98 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_01509@rel:R25-11#23947b98
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#22037eeb2026-09-30
  • R22-11rel:R22-11#8ff68aa32026-10-14
  • R23-11rel:R23-11#f186fbd82026-10-14
  • R24-11rel:R24-11#3c2842b72026-10-14
  • R25-11rel:R25-11#23947b982026-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

function ExitRead [SWS_DM_01514] 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7a822a7b2a3d Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die rein virtuelle Methode ExitRead beendet eine laufende Datenübertragungssitzung im Rahmen von ara::diag::DataTransferReadByPullHandler [SWS_DM_01514] (AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.3.1 „ExitRead“). Sie nimmt als Parameter den Beendigungsgrund exit_type (Typ DataTransferExitType), fahrzeugherstellerspezifische Parameter in transfer_request_parameter_record (als ara::core::Span<const ara::core::Byte>), den Anforderungskontext meta_info sowie einen cancellation_handler entgegen. Der Parameter transfer_request_parameter_record bleibt gültig, bis das zugehörige Promise erfüllt oder die Ausführung über den Cancellation-Handler abgebrochen wird [SWS_DM_01514].

Der Aufruf erfolgt asynchron und gibt ein ara::core::Future<ara::core::Vector<ara::core::Byte>> zurück [SWS_DM_01514]:

  • Im Erfolgsfall wird das Future für eine positive Antwortnachricht bereitgestellt; die Daten aus OperationOutput.response_data werden dabei als transferResponseParameterRecord nach der Service-ID platziert.
  • Im Fehlerfall wird das Future mit einem UDS-Fehlercode (NRC) gemäß ISO 14229-1 aus DiagUdsNrcErrc für eine negative Antwortnachricht erfüllt.

Die Funktion ist als noexcept deklariert und ausnahmesicher (exception safe), jedoch nicht threadsicher (not thread-safe) [SWS_DM_01514]. Über den cancellation_handler kann mittels cancellation_handler.IsCanceled() der Abbruchstatus abgefragt oder über cancellation_handler.SetNotifier() eine Benachrichtigungsfunktion für einen Abbruch der Konversation registriert werden [SWS_DM_01514].

Hinsichtlich der Reihenfolge darf eine Instanz von DataTransferReadByPullHandler keinesfalls zerstört werden, bevor ExitRead() aufgerufen wurde [SWS_DM_01510]. Entsprechende Beendigungsfunktionen und Destruktorbedingungen existieren parallel für ara::diag::DataTransferReadSharedDataHandler::ExitRead [SWS_DM_01505] ([SWS_DM_01499]) und ara::diag::DataTransferReadByPushHandler::ExitRead [SWS_DM_01523] ([SWS_DM_01519]).

Dieser Text wurde von einer KI erstellt; verbindlich ist die Spezifikation.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPullHandler
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_infoMetaInfo 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 > >A Future, which either gets readied to OperationOutput (transfer ResponseParameterRecord for a positive response message) or readied with UDS 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_01514
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01514@rel:R25-11#b7df1d39
Content hash
b7df1d39
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01514
Status: valid/unmigrated Version: rel:R25-11#5862e917 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_01514@rel:R25-11#5862e917
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#b7df1d392026-09-30
  • R22-11rel:R22-11#a8dad66b2026-10-14
  • R23-11rel:R23-11#bb1c081f2026-10-14
  • R24-11rel:R24-11#8447e69b2026-10-14
  • R25-11rel:R25-11#5862e9172026-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

function Read [SWS_DM_01513] Upstream: RS_Diag_04135

virtual auto Read (ara::core::Span< const ara::core::Byte > response_ data, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< std::uint32_t >=0;

Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and copied into the provided by ara::diag Span with up to the requested Span size.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 104f857aa59e Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Aufrufsemantik

Die Methode Read der Klasse ara::diag::DataTransferReadByPullHandler dient dem Auslesen von Datenblöcken durch die Anwendung im Rahmen des UDS-Datentransfers [SWS_DM_01513]. Die Anwendung stellt den ersten oder nachfolgende Datei- bzw. Verzeichnisinhaltsblöcke zusammen und kopiert diese in den von ara::diag übergebenen Puffer response_data (Typ ara::core::Span<const ara::core::Byte>) bis maximal zur Größe des Spans.

Der Aufruf erfolgt asynchron und gibt ein ara::core::Future<std::uint32_t> zurück [SWS_DM_01513]. Im Erfolgsfall wird das Future mit der tatsächlich bereitgestellten Bytezahl erfüllt; diese Daten werden in der positiven UDS-Antwort nach dem blockSequenceCounter als transferResponseParameterRecord platziert. Über den Parameter cancellation_handler kann die Anwendung mittels IsCanceled() den Abbruchstatus abfragen oder über SetNotifier() eine Benachrichtigungsfunktion für einen Abbruch registrieren.

Fehlerbehandlung und Randbedingungen

Im Fehlerfall wird das Future mit einem anwendbaren UDS-NRC aus DiagUdsNrcErrc gemäß ISO 14229-1 abgeschlossen [SWS_DM_01513]. Ist eine Schnittstelle nicht oder nicht mehr mittels offer() bereitgestellt, antwortet der DM mit NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257].

Nebenläufigkeit und Zusammenspiel

Die Schnittstelle ist als nicht threadsicher (not thread-safe), jedoch ausnahmesicher (exception safe) spezifiziert [SWS_DM_01513]. Der Speicherbereich von response_data bleibt nur so lange gültig, bis das zugehörige Promise erfüllt oder der Vorgang abgebrochen wird. Alternativ zum Pull-Muster existieren für den Datentransfer das Push-Verfahren über DataTransferReadByPushHandler::Read [SWS_DM_01522] sowie die Übertragung mit geteiltem Besitz über DataTransferReadSharedOwnershipHandler::Read [SWS_DM_01504].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikationsdokumente von AUTOSAR Adaptive erstellt.

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
response_dataThe view over a pre-allocated by AraDiag memory to write in this data chunk. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
meta_infoMetaInfo 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<std::uint32_t >A Future, which either gets readied to actual amount of data provided in the Span (for a positive response message) or readied with UDS ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in response_data will be placed after 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_01513
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01513@rel:R25-11#1d9ca416
Content hash
1d9ca416
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01513
Status: valid/unmigrated Version: rel:R25-11#63972da5 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_01513@rel:R25-11#63972da5
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1d9ca4162026-09-30
  • R22-11rel:R22-11#75393c2a2026-10-14
  • R23-11rel:R23-11#ca5dc2382026-10-14
  • R24-11rel:R24-11#8cc6dd042026-10-14
  • R25-11rel:R25-11#63972da52026-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

function operator= [SWS_DM_01511] Upstream: RS_Diag_04135

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

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadByPullHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01511
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01511@rel:R25-11#c6a86624
Content hash
c6a86624
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01511
Status: valid/unmigrated Version: rel:R25-11#b782b337 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_01511@rel:R25-11#b782b337
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c6a866242026-09-30
  • R22-11rel:R22-11#4b9d42d12026-10-14
  • R23-11rel:R23-11#44c930122026-10-14
  • R24-11rel:R24-11#5df4ff4d2026-10-14
  • R25-11rel:R25-11#b782b3372026-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

function operator= [SWS_DM_01512] Upstream: RS_Diag_04135

auto operator= (DataTransferReadByPullHandler const &) -> DataTransfer ReadByPullHandler &=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::DataTransferReadByPullHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01512
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01512@rel:R25-11#9cf22d9e
Content hash
9cf22d9e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01512
Status: valid/unmigrated Version: rel:R25-11#c19a0a89 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_01512@rel:R25-11#c19a0a89
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9cf22d9e2026-09-30
  • R22-11rel:R22-11#8bde9da32026-10-14
  • R23-11rel:R23-11#e27d97752026-10-14
  • R24-11rel:R24-11#fef1656d2026-10-14
  • R25-11rel:R25-11#c19a0a892026-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

function ~DataTransferReadByPullHandler [SWS_DM_01510] Upstream: RS_Diag_04135

virtual ~DataTransferReadByPullHandler () 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::DataTransferReadByPullHandler
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01510
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01510@rel:R25-11#aa3b8d84
Content hash
aa3b8d84
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01510
Status: valid/unmigrated Version: rel:R25-11#b0161e65 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_01510@rel:R25-11#b0161e65
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#aa3b8d842026-09-30
  • R22-11rel:R22-11#66de4fbf2026-10-14
  • R23-11rel:R23-11#ac8a6a602026-10-14
  • R24-11rel:R24-11#6759ad7c2026-10-14
  • R25-11rel:R25-11#b0161e652026-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