DEENESPTFRRUARHIKOZHNL

class ara::diag::DataTransferReadByPushHandler

[SWS_DM_01515] Upstream: RS_Diag_04135

class DataTransferReadByPushHandler {...};

Handles data transfers initiated by RequestReadFile/-Directory with data pushed by 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 Anwendungen die aktive Bereitstellung von Datei- und Verzeichnisinhalten bei UDS-Leseanfragen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1ed24b3e3197 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Anwendungen die aktive Bereitstellung von Datei- und Verzeichnisinhalten bei UDS-Leseanfragen.

Die Klasse ara::diag::DataTransferReadByPushHandler dient als Basisschnittstelle für UDS-Leseübertragungen, bei denen die Anwendung Dateiinhalte aktiv paketiert und bereitstellt [SWS_DM_01515]. Datenblöcke werden sequenziell über Read() übergeben und die Übertragungssitzung wird anschließend über ExitRead() geordnet abgeschlossen [SWS_DM_01523]. Jeder Handler ist strikt an genau eine Transfersitzung gebunden, weshalb Kopieroperationen unterbunden sind. Als wesentliche Lebenszyklusbedingung darf die Instanz keinesfalls vor dem Aufruf von ExitRead() zerstört werden [SWS_DM_01519].

Kontext

Die Klasse ara::diag::DataTransferReadByPushHandler fungiert als Basis- und Schnittstellenklasse für Diagnose-Datentransfers, die durch Anfragen wie RequestReadFile oder RequestReadDirectory initiiert werden [SWS_DM_01515]. Das zugrundeliegende Übertragungsmuster basiert auf dem Push-Prinzip: Die Datei- oder Verzeichnisdaten werden von der spezifischen Anwendungsimplementierung aktiv paketiert und an die Diagnoseverwaltung (Diagnostic Management, DM) übergeben AUTOSAR_AP_SWS_Diagnostics §8.10.3 „Class: DataTransferReadByPushHandler“. Das Zusammenspiel erfolgt zwischen dem externen UDS-Client, der Plattformkomponente ara::diag und der konkreten Handler-Implementierung der Anwendung.

client UDS-Client dm ara::diag (DM) client->dm UDS RequestReadFile / TransferData dm->client UDS Response handler DataTransferReadByPushHandler dm->handler Read() / ExitRead() handler->dm Future<Vector<Byte>>

Kontextdiagramm: Einordnung des Push-Handlers zwischen externem UDS-Client und Diagnose-Management. Quellen: [SWS_DM_01515], AUTOSAR_AP_SWS_Diagnostics §8.10.3 „Class: DataTransferReadByPushHandler“

Lebenszyklus

Da DataTransferReadByPushHandler als abstrakte Basisklasse ausgelegt ist, steht der parameterlose Konstruktor unter geschützter Sichtbarkeit (protected) [SWS_DM_01516]. Die Instanziierung erfolgt im Kontext einer abgeleiteten Klasse innerhalb der Anwendung. Instanzen sind strikt an genau eine Dateiübertragungssitzung gebunden („one way usage“); infolgedessen sind der Kopierkonstruktor [SWS_DM_01518] sowie der Kopierzuweisungsoperator [SWS_DM_01521] explizit gelöscht (=delete). Ein Transfer von Besitzverhältnissen ist über Move-Operationen möglich, da Move-Konstruktor [SWS_DM_01517] und Move-Zuweisung [SWS_DM_01520] als Standardimplementierungen vorliegen und als ausnahmesicher (noexcept) deklariert sind.

Für die Zerstörung des Handlers definiert die Spezifikation eine strikte Vorbedingung: Eine Instanz darf keinesfalls zerstört werden, bevor die Sitzung über den Aufruf von ExitRead() abgeschlossen wurde [SWS_DM_01519], AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.1.2 „Destructor“. Bezüglich der Nebenläufigkeit sind die virtuellen Methoden der Klasse nicht threadsicher („not thread-safe“) spezifiziert [SWS_DM_01522], [SWS_DM_01523], weshalb gleichzeitige Zugriffe durch die Plattform synchronisiert oder sequenziell ausgeführt werden müssen.

Nutzungspfad

Der operative Ablauf gliedert sich in die repetitive Bereitstellung von Datenfragmenten und den geordneten Sitzungsabschluss. Nach Initiierung des Lesevorgangs ruft ara::diag wiederholt die Methode Read() auf [SWS_DM_01522], AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.3.2 „Read“. Dabei übergibt das Framework eine Richtgröße für die empfohlene Rückgabegröße in Bytes (recommended_number_bytes_to_return) zur Erzielung eines optimalen Durchsatzes sowie den Anforderungskontext (MetaInfo) und einen CancellationHandler. Die Anwendung erzeugt das Datenpaket und übergibt dessen Eigentum über ein ara::core::Future<ara::core::Vector<ara::core::Byte>> an das Diagnose-Management, welches die Nutzdaten hinter dem Block-Sequenzzähler in die UDS-Antwortnachricht einfügt [SWS_DM_01522].

Sobald alle Datenblöcke übertragen wurden oder die Sitzung beendet werden soll, ruft ara::diag die Methode ExitRead() auf [SWS_DM_01523], AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.3.1 „ExitRead“. Neben dem Beendigungsgrund (DataTransferExitType exit_type) werden herstellerspezifische Anforderungsparameter über transfer_request_parameter_record übergeben. Die Lebensdauer dieses Parameter-Spans ist bindend daran gekoppelt, bis das zugehörige Promise erfüllt oder die Bearbeitung abgebrochen wird [SWS_DM_01523]. Nach Rückgabe des finalen Antwortparametersatzes über die Future gilt die Übertragung als beendet, womit die Bedingung für die gefahrlose Zerstörung des Handler-Objekts erfüllt ist [SWS_DM_01519].

Ablauf eines Push-basierten Lese-Transfersara::diag (DM)DataTransferReadByPushHandlerUse Case: Datenübertragung (Read-Schleife)Read(recommended_bytes, meta_info, cancel_handler)Datenchunk erzeugenFuture<Vector<Byte>> bereitstellenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancel_handler)Sitzungsressourcen freigebenFuture<Vector<Byte>> bereitstellen

Sequenzdiagramm: Typische Interaktionsabfolge zwischen Diagnose-Management und Handler bei Leseübertragung und Transferabschluss. Quellen: [SWS_DM_01522], [SWS_DM_01523], [SWS_DM_01519]

Fehlerszenarien

Tritt während der Zusammenstellung von Datenblöcken oder beim Sitzungsabschluss ein Fehler auf, wird dieser asynchron über das jeweilige ara::core::Future gemeldet. Anstelle einer positiven Antwortstruktur wird das Future mit einem Fehlercode (ara::core::ErrorCode) aus dem Bereich DiagUdsNrcErrc bereitgestellt, der einer passenden negativen Rückmeldekennung (Negative Response Code, NRC) gemäß ISO 14229-1 entspricht [SWS_DM_01522], [SWS_DM_01523].

Bricht der Diagnosedialog ab oder sendet der Client eine Abbruchanforderung, kommt der übergebene CancellationHandler zum Tragen. Die Implementierung kann den aktuellen Abbruchstatus über cancellation_handler.IsCanceled() abfragen oder über cancellation_handler.SetNotifier() eine Rückruffunktion registrieren, die beim Abbruch der Konversation ausgelöst wird [SWS_DM_01522], [SWS_DM_01523]. Die Erfüllung oder der Abbruch des Promises markiert zugleich das Ende der Gültigkeit des Parametersatzes in ExitRead() [SWS_DM_01523].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__DataTransferReadByPushHandler95 DataTransferReadByPushHandler + DataTransferReadByPushHandler() + ~DataTransferReadByPushHandler() + ExitRead() + Read() + operator=()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructs an instance of this class.

Überladungen DataTransferReadByPushHandler 3
DataTransferReadByPushHandler () noexcept=default; SWS_DM_01516
DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default; SWS_DM_01517
DataTransferReadByPushHandler (DataTransferReadByPushHandler const &)=delete; SWS_DM_01518

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

virtual ~DataTransferReadByPushHandler () 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 its ownership is passed as a result to ara::diag.

virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

Operatoren

operator= function 2

Move assigns an instance of this class.

Überladungen = 2
auto operator= (DataTransferReadByPushHandler &&other) & noexcept -> DataTransferReadByPushHandler & =default; SWS_DM_01520
auto operator= (DataTransferReadByPushHandler const &) -> DataTransfer ReadByPushHandler &=delete; SWS_DM_01521

Dokumentation der Methoden

function DataTransferReadByPushHandler [SWS_DM_01516] Upstream: RS_Diag_04135

DataTransferReadByPushHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01516
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01516@rel:R25-11#9f5e769b
Content hash
9f5e769b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01516
Status: valid/unmigrated Version: rel:R25-11#49a6743f 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_01516@rel:R25-11#49a6743f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9f5e769b2026-09-30
  • R22-11rel:R22-11#d8dde2912026-10-14
  • R23-11rel:R23-11#98b8947b2026-10-14
  • R24-11rel:R24-11#a73be3ff2026-10-14
  • R25-11rel:R25-11#49a6743f2026-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 DataTransferReadByPushHandler [SWS_DM_01517] Upstream: RS_Diag_04135

DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
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_01517
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01517@rel:R25-11#cf1ac9f9
Content hash
cf1ac9f9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01517
Status: valid/unmigrated Version: rel:R25-11#7e951d87 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_01517@rel:R25-11#7e951d87
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#cf1ac9f92026-09-30
  • R22-11rel:R22-11#f70fc75f2026-10-14
  • R23-11rel:R23-11#0fe43a672026-10-14
  • R24-11rel:R24-11#b4cb6e672026-10-14
  • R25-11rel:R25-11#7e951d872026-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 DataTransferReadByPushHandler [SWS_DM_01518] Upstream: RS_Diag_04135

DataTransferReadByPushHandler (DataTransferReadByPushHandler 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::DataTransferReadByPushHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01518
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01518@rel:R25-11#90c604c3
Content hash
90c604c3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01518
Status: valid/unmigrated Version: rel:R25-11#a724748f 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_01518@rel:R25-11#a724748f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#90c604c32026-09-30
  • R22-11rel:R22-11#9fb9734c2026-10-14
  • R23-11rel:R23-11#44c63dd52026-10-14
  • R24-11rel:R24-11#08b9bed72026-10-14
  • R25-11rel:R25-11#a724748f2026-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_01523] 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: eefe02828ffe Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die virtuelle Methode ExitRead beendet eine laufende Datenübertragungssitzung im Kontext des Diagnose-Handlers [SWS_DM_01523]. Die Funktion arbeitet asynchron und liefert ein ara::core::Future mit den Antwortdaten als Byte-Vektor zurück SWS Diagnostics §8.10.3.1.3.1 „ExitRead“.

Parameter und Aufrufkontext

  • exit_type (DataTransferExitType): Spezifiziert den Grund für das Beenden der Übertragung [SWS_DM_01523].
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): Enthält herstellerspezifische Parameter zur Unterstützung des Datentransfers. Die zugrunde liegenden Daten müssen gültig bleiben, bis das zugehörige Promise erfüllt oder die Verarbeitung abgebrochen wird [SWS_DM_01523].
  • meta_info (MetaInfo const &): Übergibt Metainformationen der Diagnoseanfrage [SWS_DM_01523].
  • cancellation_handler (CancellationHandler): Dient zur Überprüfung des Abbruchstatus mittels IsCanceled() oder zur Registrierung einer Callback-Funktion via SetNotifier() im Falle eines Sitzungsabbruchs [SWS_DM_01523].

Fehlerbehandlung und Rückgabewerte

Im Erfolgsfall stellt das Future die Ausgabedaten bereit, die in der positiven UDS-Antwort nach der SID als transferResponseParameterRecord platziert werden [SWS_DM_01523]. Bei einem Fehlschlag wird das Future mit einem passenden Negative Response Code (NRC) aus DiagUdsNrcErrc gemäß ISO 14229-1 vervollständigt [SWS_DM_01523].

Nebenläufigkeit und Lebenszyklus

Die Methode ist ausnahmesicher (exception safe), aber explizit nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_01523]. Hinsichtlich des Objektlebenszyklus besteht eine bindende Reihenfolgebedingung: Eine Instanz von DataTransferReadByPushHandler darf keinesfalls vor dem Aufruf von ExitRead() zerstört werden [SWS_DM_01519]. Analoge Vorgaben gelten für verwandte Handler-Klassen im Datentransfer [SWS_DM_01510] [SWS_DM_01499].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
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 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_01523
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01523@rel:R25-11#50d94e4c
Content hash
50d94e4c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01523
Status: valid/unmigrated Version: rel:R25-11#028dde2a 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_01523@rel:R25-11#028dde2a
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#50d94e4c2026-09-30
  • R22-11rel:R22-11#2702570e2026-10-14
  • R23-11rel:R23-11#730065222026-10-14
  • R24-11rel:R24-11#ddf661402026-10-14
  • R25-11rel:R25-11#028dde2a2026-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_01522] Upstream: RS_Diag_04135

virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=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 its ownership is passed as a result to ara::diag.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: fcd7efa833df Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die rein virtuelle Methode Read der Klasse ara::diag::DataTransferReadByPushHandler dient dem asynchronen Auslesen von Datenblöcken für Datei- oder Verzeichnisinformationen aus der Anwendung [SWS_DM_01522]. Die Anwendung stellt den jeweiligen Daten-Chunk zusammen und übergibt dessen Eigentum als ara::core::Vector<ara::core::Byte> an das Diagnosemodul.

Verwendung und Aufrufkontext

Der Aufruf erfolgt durch den Diagnostic Server zur Bereitstellung von Antwortdaten für UDS-Clients über die Header-Datei ara/diag/data_transfer.h [SWS_DM_01522]. Die Methode erwartet drei Parameter:

  • recommended_number_bytes_to_return: Die empfohlene Anzahl an Bytes für optimalen Durchsatz. Dieser Wert dürfte sich vermutlich an der internen Puffer- oder PDU-Größe des Diagnostic Management orientieren. Frage Q-1a8c1270b192b96f (offen)
  • meta_info: Zusätzliche Meta-Informationen der eingehenden Diagnoseanfrage (MetaInfo).
  • cancellation_handler: Ermöglicht das Abfragen des Abbruchstatus via cancellation_handler.IsCanceled() oder das Registrieren einer Benachrichtigung mittels cancellation_handler.SetNotifier() bei Verbindungsabbrüchen.

Als Rückgabewert dient ein ara::core::Future<ara::core::Vector<ara::core::Byte>>. Bei erfolgreicher Verarbeitung werden die Daten als transferResponseParameterRecord hinter dem Sequenzzähler in die positive Antwortnachricht eingebettet [SWS_DM_01522].

Fehlerbehandlung und Nebenläufigkeit

Schlägt die Verarbeitung fehl, wird das Future mit einem Fehlercode aus DiagUdsNrcErrc erfüllt, der eine passende NRC gemäß ISO 14229-1 abbildet [SWS_DM_01522]. Wird die Schnittstelle vom Dienst noch nicht oder nicht mehr mittels offer() angeboten, beantwortet der Diagnostic Manager den Request mit NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257]. Die Methode ist als ausnahmesicher (exception safe), jedoch als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_01522], weshalb gleichzeitige Aufrufe anwendungsseitig zu synchronisieren sind.

Zusammenspiel

Das Push-Prinzip dieser Schnittstelle ergänzt alternative Lesemechanismen des Diagnosemoduls: das Pull-Verfahren über ara::diag::DataTransferReadByPullHandler::Read [SWS_DM_01513] mit vordefiniertem Speicherbereich sowie die Bereitstellung eines geteilten Speicherbereichs mittels ReleaseHandler [SWS_DM_01504].

Dieser Text wurde von einer KI generiert.

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
recommended_number_The recommended number of bytes to send back to DM in order to
bytes_to_returnget optimum data throughput.
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 ReadPushOutput (transfer ResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for a negative response message). Data in ReadPushOutput.responseData will be placed after block SequenceCounter 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_01522
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01522@rel:R25-11#3e8fc1bb
Content hash
3e8fc1bb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01522
Status: valid/unmigrated Version: rel:R25-11#e7e79431 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_01522@rel:R25-11#e7e79431
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#3e8fc1bb2026-09-30
  • R22-11rel:R22-11#3462fde32026-10-14
  • R23-11rel:R23-11#6dd9bce12026-10-14
  • R24-11rel:R24-11#cb10a5162026-10-14
  • R25-11rel:R25-11#e7e794312026-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_01520] Upstream: RS_Diag_04135

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

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadByPushHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01520
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01520@rel:R25-11#2ce93189
Content hash
2ce93189
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01520
Status: valid/unmigrated Version: rel:R25-11#d4049469 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_01520@rel:R25-11#d4049469
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#2ce931892026-09-30
  • R22-11rel:R22-11#62287d5f2026-10-14
  • R23-11rel:R23-11#96e4f4012026-10-14
  • R24-11rel:R24-11#ae7f03fd2026-10-14
  • R25-11rel:R25-11#d40494692026-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_01521] Upstream: RS_Diag_04135

auto operator= (DataTransferReadByPushHandler const &) -> DataTransfer ReadByPushHandler &=delete;

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

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

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

Record
AUTOSAR/AP/record/SWS_DM_01521
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01521@rel:R25-11#434ea933
Content hash
434ea933
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01521
Status: valid/unmigrated Version: rel:R25-11#18457d2d 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_01521@rel:R25-11#18457d2d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#434ea9332026-09-30
  • R22-11rel:R22-11#e3d9fab02026-10-14
  • R23-11rel:R23-11#95ae839d2026-10-14
  • R24-11rel:R24-11#18457d2d2026-10-14
  • R25-11rel:R25-11#18457d2d2026-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 ~DataTransferReadByPushHandler [SWS_DM_01519] Upstream: RS_Diag_04135

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

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

Record
AUTOSAR/AP/record/SWS_DM_01519
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01519@rel:R25-11#745728c0
Content hash
745728c0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01519
Status: valid/unmigrated Version: rel:R25-11#0df2ec41 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_01519@rel:R25-11#0df2ec41
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#745728c02026-09-30
  • R22-11rel:R22-11#adf1131d2026-10-14
  • R23-11rel:R23-11#565380862026-10-14
  • R24-11rel:R24-11#0fbf5f402026-10-14
  • R25-11rel:R25-11#0df2ec412026-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