DEENESPTFRRUARHIKOZHNL

class ara::diag::DataTransferWriteHandler

[SWS_DM_01539] Upstream: RS_Diag_04135

class DataTransferWriteHandler {...};

Handles data transfers initiated by AddFile, ResumeFile or ReplaceFile ModeOfOperation handling per requested RequestWriteFile.

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

User GuideKI-GENERIERT

Verarbeitet und speichert eingehende Datenblöcke bei schreibenden Dateitransfers in der Anwendung.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: eacdeba00b95 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verarbeitet und speichert eingehende Datenblöcke bei schreibenden Dateitransfers in der Anwendung.

Die Klasse ara::diag::DataTransferWriteHandler dient in AUTOSAR Adaptive der anwendungsseitigen Verarbeitung von schreibenden Dateitransfers, die durch RequestWriteFile in den Modi AddFile, ResumeFile oder ReplaceFile angestoßen wurden [SWS_DM_01539]. Eingehende Datenpakete werden asynchron über Write() in den Speicher geschrieben und die Sitzung anschließend mittels ExitWrite() abgeschlossen. Eine Instanz ist strikt an eine einzelne Übertragungssitzung gebunden und darf keinesfalls vor dem Aufruf von ExitWrite() zerstört werden [SWS_DM_01541].

Kontext

Die abstrakte Basisklasse ara::diag::DataTransferWriteHandler definiert in der AUTOSAR Adaptive Platform die Schnittstelle für schreibende Dateitransfers [SWS_DM_01539] (AUTOSAR_AP_SWS_Diagnostics §8.10.6 „Class: DataTransferWriteHandler“). Sie dient der anwendungsseitigen Verarbeitung von Datenübertragungen, die im Rahmen von RequestWriteFile über die Betriebsmodi AddFile, ResumeFile oder ReplaceFile angestoßen wurden.

Innerhalb der Diagnosearchitektur interagiert der Handler mit dem externen UDS-Client, der Diagnose-Middleware und der Anwendung. Der Client übermittelt segmentierte Datenblöcke, die von einer abgeleiteten Implementierung des Handlers entgegengenommen und im Anwendungsspeicher abgelegt werden [SWS_DM_01546]. Vermutlich übernimmt das Diagnose-Management der Plattform dabei die UDS-Protokollkoordination und reicht die Nutzdaten über die Handler-Schnittstelle an die Zielanwendung weiter. Frage Q-484dc9dd80e56af4 (offen)

Lebenszyklus

Die Instanziierung von ara::diag::DataTransferWriteHandler erfolgt ausschließlich durch spezialisierte Unterklassen der Anwendung: Der parameterlose Konstruktor ist mit protected und noexcept=default definiert [SWS_DM_01540], was eine direkte Instanziierung der Basisklasse verhindert. Eine Handler-Instanz ist strikt an eine einzelne Dateiübertragungssitzung gebunden („one way usage i.e. per single file transfer session“). Aus diesem Grund sind der Kopierkonstruktor [SWS_DM_01544] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.2.1 „DataTransferWriteHandler“) und der Kopierzuweisungsoperator [SWS_DM_01545] gelöscht (=delete).

Verschiebeoperationen sind hingegen zulässig: Sowohl der Verschiebekonstruktor [SWS_DM_01542] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.1.1 „Move Constructor“) als auch der Verschiebezuweisungsoperator [SWS_DM_01543] sind mit noexcept=default implementiert und gelten als ausnahmesicher (exception safe).

Für den Abbau der Instanz gilt eine bindende Vorbedingung: Eine Instanz dieser Klasse darf keinesfalls zerstört werden, bevor die Methode ExitWrite() aufgerufen wurde [SWS_DM_01541] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.1.2 „Destructor“). Erst nach vollständiger Durchführung von ExitWrite() darf der virtuelle Destruktor ~DataTransferWriteHandler() aufgerufen werden. Die Elementfunktionen und der Destruktor sind als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_01541], [SWS_DM_01546], [SWS_DM_01547].

diag_lifecycle Bereit Bereit Datentransfer aktiv Datentransfer aktiv Bereit->Datentransfer aktiv Write() Datentransfer aktiv->Datentransfer aktiv Write() Beendet Beendet Datentransfer aktiv->Beendet ExitWrite() Zerstört Zerstört Beendet->Zerstört ~DataTransferWriteHandler()

Zustandsdiagramm: Lebenszyklus und Aufrufabfolge einer DataTransferWriteHandler-Instanz. Quellen: [SWS_DM_01541], [SWS_DM_01544].

Nutzungspfad

Der reguläre Ablauf eines schreibenden Transfers umfasst das schrittweise Empfangen von Datenblöcken und den anschließenden Abschluss der Sitzung:

  • Für jedes eintreffende Datensegment ruft das Diagnosesystem die rein virtuelle Methode Write() auf [SWS_DM_01546] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.3.2 „Write“). Die Daten werden als ara::core::Span<ara::core::Byte> übergeben. Die Gültigkeit dieses Speicherbereichs bleibt bestehen, bis das zugehörige Promise erfüllt oder die Operation abgebrochen wird. Die Anwendung hängt die Daten an den internen Puffer an und liefert ein ara::core::Future<void> zurück.
  • Nachdem alle Segmente übertragen wurden, ruft die Plattform die rein virtuelle Methode ExitWrite() auf [SWS_DM_01547] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.3.1 „ExitWrite“). Übergeben werden der Beendigungsgrund (DataTransferExitType), fahrzeugherstellerspezifische Parameter (transferRequestParameterRecord), metaInfo sowie ein CancellationHandler.
  • Die Methode ExitWrite() gibt ein ara::core::Future<ara::core::Vector<ara::core::Byte>> zurück. Bei erfolgreichem Abschluss werden die darin enthaltenen Daten als transferResponseParameterRecord hinter der Service-ID in die positive UDS-Antwortnachricht eingefügt [SWS_DM_01547].
Typischer Ablauf eines schreibenden DatentransfersUDS-ClientDiagnose-ManagementDataTransferWriteHandlerUse Case: Schreibende DatenübertragungTransferData-AnfrageWrite(requestData, metaInfo, cancellationHandler)Datenblock anhängenFuture<void> bereitstellenPositive UDS-AntwortUse Case: Abschluss des TransfersRequestTransferExit-AnfrageExitWrite(exitType, transferRequestParameterRecord, ...)Session beenden & Response-Parameter vorbereitenFuture<Vector<Byte>> bereitstellenPositive UDS-Antwort (transferResponseParameterRecord)

Sequenzdiagramm: Aufrufsequenz von Write- und ExitWrite-Operationen während einer Transfersitzung. Quellen: [SWS_DM_01546], [SWS_DM_01547].

Fehlerszenarien

Fehler während der Datenverarbeitung und des Transfers werden über standardisierte Rückgabewerte und Abbruchmechanismen verwaltet:

  • Schlägt das Schreiben eines Datenblocks oder das Beenden des Transfers fehl, wird das jeweilige Future mit einem ara::core::ErrorCode aus DiagUdsNrcErrc bereitgestellt [SWS_DM_01546], [SWS_DM_01547]. Dies führt zur Generierung einer entsprechenden negativen UDS-Antwort (NRC gemäß ISO 14229-1) an den Client.
  • Beide Methoden stellen einen CancellationHandler bereit. Die Anwendung kann über cancellationHandler.IsCanceled() prüfen, ob die Konversation abgebrochen wurde, oder mittels cancellationHandler.SetNotifier() eine Benachrichtigungsfunktion registrieren, die bei Abbruch der Konversation ausgeführt wird [SWS_DM_01546], [SWS_DM_01547].
  • Wird die Instanz vor dem Aufruf von ExitWrite() zerstört, liegt ein Verstoß gegen die spezifizierte Lebenszyklusregel vor [SWS_DM_01541], was vermutlich zu undefiniertem Systemzustand und unvollständigen Dateien führt. Frage Q-cc032c11ac89a5b1 (offen) Zudem führt ein ungeschützter nebenläufiger Zugriff zu Dateninkonsistenzen, da die Schnittstelle explizit nicht threadsicher ist.

Dieser Leitfaden wurde durch einen KI-Kurations-Assistenten auf Basis von AUTOSAR R25-11 erstellt.

Mitgliederkarte

Operatoren

1

Klassendiagramm

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

G nara__diag__DataTransferWriteHandler871 DataTransferWriteHandler + DataTransferWriteHandler() + ~DataTransferWriteHandler() + ExitWrite() + Write() + operator=()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructs an instance of this class.

Überladungen DataTransferWriteHandler 3
DataTransferWriteHandler () noexcept=default; SWS_DM_01540
DataTransferWriteHandler (DataTransferWriteHandler &&other) noexcept=default; SWS_DM_01542
DataTransferWriteHandler (DataTransferWriteHandler const &)=delete; SWS_DM_01544

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

virtual ~DataTransferWriteHandler () noexcept;

Methoden

ExitWrite function

Exits an ongoing data transfer session.

virtual auto ExitWrite (DataTransferExitType exitType, ara::core::Span< ara::core::Byte > transferRequestParameterRecord, MetaInfo const &metaInfo, CancellationHandler cancellationHandler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;
Write function

Appends a data chunk into application memory.

virtual auto Write (ara::core::Span< ara::core::Byte > requestData, MetaInfo const &metaInfo, CancellationHandler cancellationHandler) noexcept -> ara::core::Future< void >=0;

Operatoren

operator= function 2

Move assigns an instance of this class.

Überladungen = 2
auto operator= (DataTransferWriteHandler &&other) & noexcept -> Data TransferWriteHandler & =default; SWS_DM_01543
auto operator= (DataTransferWriteHandler const &) -> DataTransferWrite Handler &=delete; SWS_DM_01545

Dokumentation der Methoden

function DataTransferWriteHandler [SWS_DM_01540] Upstream: RS_Diag_04135

DataTransferWriteHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01540
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01540@rel:R25-11#acb66c4a
Content hash
acb66c4a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01540
Status: valid/unmigrated Version: rel:R25-11#ce924475 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_01540@rel:R25-11#ce924475
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#acb66c4a2026-09-30
  • R22-11rel:R22-11#0c5ae1862026-10-14
  • R23-11rel:R23-11#56c835de2026-10-14
  • R24-11rel:R24-11#446d15582026-10-14
  • R25-11rel:R25-11#ce9244752026-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 DataTransferWriteHandler [SWS_DM_01542] Upstream: RS_Diag_04135

DataTransferWriteHandler (DataTransferWriteHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferWriteHandler
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_01542
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01542@rel:R25-11#d00a8744
Content hash
d00a8744
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01542
Status: valid/unmigrated Version: rel:R25-11#f9761af1 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_01542@rel:R25-11#f9761af1
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#d00a87442026-09-30
  • R22-11rel:R22-11#8521b7bd2026-10-14
  • R23-11rel:R23-11#9d6f45372026-10-14
  • R24-11rel:R24-11#28d967802026-10-14
  • R25-11rel:R25-11#f9761af12026-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 DataTransferWriteHandler [SWS_DM_01544] Upstream: RS_Diag_04135

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

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

Record
AUTOSAR/AP/record/SWS_DM_01544
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01544@rel:R25-11#f6609a6b
Content hash
f6609a6b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01544
Status: valid/unmigrated Version: rel:R25-11#a6a8cde7 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_01544@rel:R25-11#a6a8cde7
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#f6609a6b2026-09-30
  • R22-11rel:R22-11#02a7720b2026-10-14
  • R23-11rel:R23-11#31b1d78f2026-10-14
  • R24-11rel:R24-11#805974712026-10-14
  • R25-11rel:R25-11#a6a8cde72026-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 ExitWrite [SWS_DM_01547] Upstream: RS_Diag_04135

virtual auto ExitWrite (DataTransferExitType exitType, ara::core::Span< ara::core::Byte > transferRequestParameterRecord, MetaInfo const &metaInfo, CancellationHandler cancellationHandler) 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: 459b3563e8d0 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die virtuelle Memberfunktion ara::diag::DataTransferWriteHandler::ExitWrite beendet eine laufende Datenübertragungssitzung für Schreibzugriffe [SWS_DM_01547] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.3.1 „ExitWrite“, Header #include "ara/diag/data_transfer.h"). Die Aufrufparameter umfassen:

  • exitType: Bestimmt den Grund für das Beenden der Sitzung [SWS_DM_01547].
  • transferRequestParameterRecord: Fahrzeugherstellerspezifische Parameter zur Unterstützung des Datentransfers; die Gültigkeit des Spans muss bestehen bleiben, bis das zugehörige Promise erfüllt oder die Operation abgebrochen wird [SWS_DM_01547].
  • metaInfo: Metainformationen der Diagnoseanforderung [SWS_DM_01547].
  • cancellationHandler: Ermöglicht die Abfrage des Abbruchstatus via cancellationHandler.IsCanceled() sowie die Registrierung eines Notifiers via cancellationHandler.SetNotifier() [SWS_DM_01547].

Die Funktion arbeitet asynchron und liefert ein ara::core::Future<ara::core::Vector<ara::core::Byte>> zurück, dessen Ergebnisdaten im Erfolgsfall als transferResponseParameterRecord hinter der SID in die positive Antwortnachricht eingefügt werden [SWS_DM_01547].

Fehlerbehandlung

Schlägt die Beendigung fehl, ist das Future mit einem passenden Negative Response Code (NRC) gemäß ISO 14229-1 über DiagUdsNrcErrc bereitzustellen [SWS_DM_01547]. Die Funktion ist als noexcept sowie ausnahmesicher (exception safe) spezifiziert [SWS_DM_01547].

Nebenläufigkeit und Zusammenspiel

Die Implementierung ist nicht threadsicher (not thread-safe) [SWS_DM_01547]. Hinsichtlich des Objektlebenszyklus besteht eine strikte Reihenfolgebedingung: Eine Instanz der Handler-Klasse darf erst zerstört werden, nachdem ExitWrite() aufgerufen wurde [SWS_DM_01541].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Spezifikationen für Release R25-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
exitTypeSpecifies the exit reason
transferRequestParameterRecordThis parameter record contains parameter(s), which are required by 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.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. 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_01547
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01547@rel:R25-11#6a47615b
Content hash
6a47615b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01547
Status: valid/unmigrated Version: rel:R25-11#4a759481 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_01547@rel:R25-11#4a759481
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#6a47615b2026-09-30
  • R22-11rel:R22-11#6bb0d0d22026-10-14
  • R23-11rel:R23-11#6cbd6fbf2026-10-14
  • R24-11rel:R24-11#01d23ade2026-10-14
  • R25-11rel:R25-11#4a7594812026-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 Write [SWS_DM_01546] Upstream: RS_Diag_04135

virtual auto Write (ara::core::Span< ara::core::Byte > requestData, MetaInfo const &metaInfo, CancellationHandler cancellationHandler) noexcept -> ara::core::Future< void >=0;

Appends a data chunk into application memory.

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

Die Methode Write der Schnittstelle ara::diag::DataTransferWriteHandler dient dem Anhängen empfangener Datenblöcke an den Speicherbereich der Anwendung bei einem UDS-Dateitransfer [SWS_DM_01546]. Der Aufruf erfolgt durch die Diagnostic-Server-Instanz, wenn im Rahmen eines durch RequestFileTransfer (0x38) eingeleiteten Vorgangs eine UDS-Anfrage TransferData (0x36) empfangen wird [SWS_DM_01317].

Parameter und Semantik

Die zu schreibenden Dateiinhalte werden über requestData als ara::core::Span<ara::core::Byte> übergeben; der referenzierte Puffer bleibt gültig, bis das zugehörige Promise erfüllt oder die Bearbeitung abgebrochen wird [SWS_DM_01546]. Der Parameter metaInfo stellt Metainformationen der Diagnoseanfrage bereit. Über cancellationHandler kann der aktuelle Abbruchstatus mittels IsCanceled geprüft oder ein Benachrichtigungs-Callback über SetNotifier registriert werden [SWS_DM_01546].

Fehlerbehandlung und Nebenläufigkeit

Das Ergebnis wird asynchron als ara::core::Future<void> zurückgegeben. Im Erfolgsfall wird das Future leer abgeschlossen; bei Fehlern ist es mit einem passenden Negative Response Code (NRC) aus DiagUdsNrcErrc gemäß ISO 14229-1 zu komplettieren [SWS_DM_01546]. Die Funktion ist als exception safe, jedoch ausdrücklich als not thread-safe spezifiziert [SWS_DM_01546]; der Diagnostic Server dürfte daher sequentielle Aufrufe für dieselbe Sitzung garantieren. Frage Q-e60d55fe09b9a2c5 (offen)

Zusammenspiel und Ablauf

Der Schreib-Handler wird über Template-Konstruktoren innerhalb der DataTransferWriteSession registriert [SWS_DM_01317]. Sobald die Übertragung mit RequestTransferExit (0x37) abgeschlossen wird, ruft der Server die Exit-Methode desselben Handlers auf [SWS_DM_01318]. Das Element grenzt sich von DID-bezogenen Schreibmethoden ab, wie sie in [SWS_DM_00598] oder [SWS_DM_00637] definiert sind.

Dieser Text wurde automatisch erstellt. Fachliche Aussagen sind durch Spezifikationsverweise belegt.

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
requestDataThe first or subsequent file content chunk received from the UDS client to be written into the file. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< void >A Future, which either is of type void or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message).

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_01546
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01546@rel:R25-11#1370e5c7
Content hash
1370e5c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01546
Status: valid/unmigrated Version: rel:R25-11#ee27f616 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_01546@rel:R25-11#ee27f616
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1370e5c72026-09-30
  • R22-11rel:R22-11#7c7b4b9d2026-10-14
  • R23-11rel:R23-11#909d93eb2026-10-14
  • R24-11rel:R24-11#0b61dc6d2026-10-14
  • R25-11rel:R25-11#ee27f6162026-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_01543] Upstream: RS_Diag_04135

auto operator= (DataTransferWriteHandler &&other) & noexcept -> Data TransferWriteHandler & =default;

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferWriteHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01543
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01543@rel:R25-11#4eaa4fdb
Content hash
4eaa4fdb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01543
Status: valid/unmigrated Version: rel:R25-11#70393c5c 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_01543@rel:R25-11#70393c5c
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#4eaa4fdb2026-09-30
  • R22-11rel:R22-11#6fa6901d2026-10-14
  • R23-11rel:R23-11#4be1d5ef2026-10-14
  • R24-11rel:R24-11#c4fc64e02026-10-14
  • R25-11rel:R25-11#70393c5c2026-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_01545] Upstream: RS_Diag_04135

auto operator= (DataTransferWriteHandler const &) -> DataTransferWrite Handler &=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::DataTransferWriteHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01545
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01545@rel:R25-11#dd0897c6
Content hash
dd0897c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01545
Status: valid/unmigrated Version: rel:R25-11#d868cb77 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_01545@rel:R25-11#d868cb77
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#dd0897c62026-09-30
  • R22-11rel:R22-11#fdaebbd22026-10-14
  • R23-11rel:R23-11#2755cabd2026-10-14
  • R24-11rel:R24-11#dc06c93a2026-10-14
  • R25-11rel:R25-11#d868cb772026-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 ~DataTransferWriteHandler [SWS_DM_01541] Upstream: RS_Diag_04135

virtual ~DataTransferWriteHandler () noexcept;

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

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

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

Record
AUTOSAR/AP/record/SWS_DM_01541
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01541@rel:R25-11#8bd32790
Content hash
8bd32790
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01541
Status: valid/unmigrated Version: rel:R25-11#e85ac9b4 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_01541@rel:R25-11#e85ac9b4
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#8bd327902026-09-30
  • R22-11rel:R22-11#82dc40042026-10-14
  • R23-11rel:R23-11#fd7a2dc42026-10-14
  • R24-11rel:R24-11#a6702b582026-10-14
  • R25-11rel:R25-11#e85ac9b42026-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