function DownloadData [SWS_DM_00790] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04033, RS_Diag_04170
virtual ara::core::Future< OperationOutput > DownloadData (ara::core::Span< const std::uint8_t > transferRequestParameterRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Called for TransferData following a previous RequestDownload.
Verwendung
Die Methode [SWS_DM_00790] wird aufgerufen, um Daten für den UDS-Dienst TransferData (0x36) nach einer zuvor initiierten Download-Anfrage zu verarbeiten (AUTOSAR_AP_SWS_Diagnostics §8.14.1.1.3.1 „DownloadData“). Die Ausführung erfolgt asynchron über ara::core::Future<OperationOutput>.
Als Eingaben werden ein ara::core::Span<const std::uint8_t> mit den zu übertragenden Daten (transferRequestParameterRecord), Kontextdaten via MetaInfo sowie ein CancellationHandler übergeben. Die Nutzdaten bleiben gültig, bis das Promise erfüllt oder die Operation abgebrochen wird. Bei erfolgreichem Abschluss werden Antwortdaten in OperationOutput.responseData abgelegt und hinter dem Blockfolgezähler in der positiven Antwortnachricht platziert [SWS_DM_00786].
Fehlerbehandlung
Tritt während der Verarbeitung ein Fehler auf, wird das Promise mit einem passenden ErrorCode aus DiagUdsNrcErrc (NRC gemäß ISO 14229-1) als negative UDS-Antwort abgeschlossen [SWS_DM_00790].
Nebenläufigkeit und Einschränkungen
Die Funktion ist als noexcept deklariert. Ob die Implementierung threadsicher ausgeführt werden muss, wird bedingt durch den im Konstruktor übergebenen ConcurrencyType bestimmt [SWS_DM_00790]. Über den CancellationHandler kann der Abbruchstatus abgefragt (IsCanceled) oder ein Benachrichtigungs-Callback über SetNotifier registriert werden.
Zusammenspiel
Die Operation setzt die Bearbeitung von TransferData [SWS_DM_00137] um, nachdem zuvor die Download-Sitzung per RequestDownload (0x34) gestartet wurde [SWS_DM_00869]. Vermutlich erfolgt die Übergabe der Datenblöcke sequenziell entsprechend der UDS-Sitzungsreihenfolge. Frage Q-fe18230bf7fcdf47 (offen)
Dieser Nutzungshinweis wurde automatisch auf Basis der AUTOSAR-Spezifikation generiert.
Implementer's Guide folgt (Komplexität I1)
| Header-Datei | #include "ara/diag/download.h" |
|---|---|
| Scope | class ara::diag::DownloadService |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | conditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| transferRequestParameterRecord | data to be transferred (copied/downloaded to the ECU/server) Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler. |
| metaInfo | MetaInfo of the request. |
| cancellationHandler | This 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
| Typ | Beschreibung |
|---|---|
| ara::core::Future<OperationOutput > | 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.responseData will be placed after the blockSequenceCounter as transferResponseParameterRecord in the positive response. |
Fehler
| Fehlercode | Beschreibung |
|---|---|
| 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_00790- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_DM_00790@rel:R25-11#805cae22- Content hash
805cae22- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00790
Status: valid/unmigrated
Version: rel:R25-11#a7575344
Versionshistorie & Revisions (1 transition, 8 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_00790@rel:R25-11#a7575344
Recorded Revisions (8):
- R25-11
rel:R25-11#805cae222026-09-30 - R19-11
rel:R19-11#266301b32026-10-14 - R20-11
rel:R20-11#0ebd14d12026-10-14 - R21-11
rel:R21-11#3484339d2026-10-14 - R22-11
rel:R22-11#f928e1d22026-10-14 - R23-11
rel:R23-11#83a2741f2026-10-14 - R24-11
rel:R24-11#0b81b5b92026-10-14 - R25-11
rel:R25-11#a75753442026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-medium· 2026-10-13