دالة 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.
الاستخدام
يتم استدعاء الدالة [SWS_DM_00790] لمعالجة البيانات الخاصة بخدمة UDS المسماة TransferData (0x36) بعد طلب تنزيل تم بدؤه مسبقاً (AUTOSAR_AP_SWS_Diagnostics §8.14.1.1.3.1 «DownloadData»). ويتم التنفيذ بشكل غير متزامن عبر ara::core::Future<OperationOutput>.
كمدخلات، يتم تمرير ara::core::Span<const std::uint8_t> يحتوي على البيانات المراد نقلها (transferRequestParameterRecord)، وبيانات السياق عبر MetaInfo، بالإضافة إلى CancellationHandler. وتظل البيانات المفيدة صالحة حتى يتم استيفاء الـ Promise أو إلغاء العملية. وعند الاكتمال بنجاح، يتم إيداع بيانات الاستجابة في OperationOutput.responseData ووضعها خلف عداد تسلسل الكتل في رسالة الاستجابة الإيجابية [SWS_DM_00786].
معالجة الأخطاء
إذا حدث خطأ أثناء المعالجة، فسيتم إتمام الـ Promise باستخدام ErrorCode مناسب من DiagUdsNrcErrc (NRC وفقاً للمواصفة ISO 14229-1) كاستجابة UDS سلبية [SWS_DM_00790].
التزامن والقيود
تم التصريح عن الدالة كـ noexcept. ويتم تحديد ما إذا كان يجب تنفيذ الشيفرة بأمان بالنسبة للخيوط بشكل مشروط بواسطة ConcurrencyType المُمرَّر في المنشئ [SWS_DM_00790]. وعبر CancellationHandler، يمكن الاستعلام عن حالة الإلغاء (IsCanceled) أو تسجيل دالة استدعاء للإشعار عبر SetNotifier.
تفاعل
تنفذ العملية معالجة TransferData [SWS_DM_00137] بعد أن تم بدء جلسة التنزيل مسبقاً بواسطة RequestDownload (0x34) [SWS_DM_00869]. ويُرجح أن يتم تمرير كتل البيانات تسلسلياً وفقاً لترتيب جلسة UDS. سؤال Q-fe18230bf7fcdf47 (مفتوح)
تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR.
دليل المنفِّذ قيد الإعداد (التعقيد 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#eebcf016- Content hash
eebcf016- 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 · الأصل الألماني