fonction 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.
Utilisation
La méthode [SWS_DM_00790] est appelée afin de traiter les données pour le service UDS TransferData (0x36) après une requête de téléchargement préalablement initiée (AUTOSAR_AP_SWS_Diagnostics §8.14.1.1.3.1 « DownloadData »). L'exécution s'effectue de manière asynchrone via ara::core::Future<OperationOutput>.
Sont transmis en entrée un ara::core::Span<const std::uint8_t> avec les données à transférer (transferRequestParameterRecord), des données de contexte via MetaInfo ainsi qu'un CancellationHandler. Les données utiles restent valides jusqu'à ce que la promesse soit tenue ou que l'opération soit interrompue. En cas de fin réussie, les données de réponse sont enregistrées dans OperationOutput.responseData et placées après le compteur de séquence de blocs dans le message de réponse positive [SWS_DM_00786].
Gestion des erreurs
Si une erreur survient pendant le traitement, la promesse se termine avec un ErrorCode approprié issu de DiagUdsNrcErrc (NRC selon l'ISO 14229-1) en tant que réponse négative UDS [SWS_DM_00790].
Concurrence et restrictions
La fonction est déclarée comme noexcept. La nécessité ou non d'exécuter l'implémentation de manière sûre vis-à-vis des threads est déterminée conditionnellement par le ConcurrencyType transmis dans le constructeur [SWS_DM_00790]. Le CancellationHandler permet d'interroger l'état d'annulation (IsCanceled) ou d'enregistrer un rappel de notification via SetNotifier.
Interaction
L'opération met en œuvre le traitement de TransferData [SWS_DM_00137] après que la session de téléchargement a été préalablement démarrée par RequestDownload (0x34) [SWS_DM_00869]. Le transfert des blocs de données s'effectue probablement de manière séquentielle, conformément à l'ordre de la session UDS. Question Q-fe18230bf7fcdf47 (ouverte)
Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR.
Guide de l'implémenteur à venir (complexité 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#f34eb832- Content hash
f34eb832- 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-low· 2026-10-13 · Original allemand