DEENESPTFRRUARHIKOZHNL

فئة 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

دليل المستخدممولَّد بالذكاء الاصطناعي

يعالج كتل البيانات الواردة ويخزنها أثناء عمليات نقل الملفات للكتابة في التطبيق.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: eacdeba00b95 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يعالج كتل البيانات الواردة ويخزنها أثناء عمليات نقل الملفات للكتابة في التطبيق.

تُستخدم الفئة ara::diag::DataTransferWriteHandler في AUTOSAR Adaptive لمعالجة عمليات نقل الملفات للكتابة من جانب التطبيق، والتي تم تحفيزها بواسطة RequestWriteFile في الأنماط AddFile أو ResumeFile أو ReplaceFile [SWS_DM_01539]. تُكتب حزم البيانات الواردة بشكل غير متزامن عبر Write() في الذاكرة، ثم تُختتم الجلسة بعد ذلك بواسطة ExitWrite(). يرتبط المثيل ارتباطاً وثيقاً بجلسة نقل واحدة، ولا يجوز بأي حال من الأحوال تدميره قبل استدعاء ExitWrite() [SWS_DM_01541].

السياق

تحدد الفئة الأساسية المجردة ara::diag::DataTransferWriteHandler في AUTOSAR Adaptive Platform واجهة عمليات نقل الملفات للكتابة [SWS_DM_01539] (AUTOSAR_AP_SWS_Diagnostics §8.10.6 «Class: DataTransferWriteHandler»). وهي تُستخدم لمعالجة عمليات نقل البيانات من جانب التطبيق، والتي تم تحفيزها ضمن نطاق RequestWriteFile عبر أنماط التشغيل AddFile أو ResumeFile أو ReplaceFile.

ضمن بنية التشخيص، يتفاعل المعالج مع عميل UDS الخارجي وبرمجية التشخيص الوسيطة والتطبيق. يرسل العميل كتل بيانات مجزأة، حيث يستقبلها تنفيذ مشتق للمعالج ويخزنها في ذاكرة التطبيق [SWS_DM_01546]. ومن المفترض أن تتولى إدارة التشخيص (Diagnostic Management) للمنصة تنسيق بروتوكول UDS وتمرير البيانات المفيدة عبر واجهة المعالج إلى التطبيق الهدف. سؤال Q-484dc9dd80e56af4 (مفتوح)

دورة الحياة

يتم إنشاء مثيل ara::diag::DataTransferWriteHandler حصرياً بواسطة فئات فرعية مخصصة للتطبيق: تم تعريف المنشئ الخالي من المعلمات بواسطة protected وnoexcept=default [SWS_DM_01540]، مما يمنع إنشاء مثيل مباشر للفئة الأساسية. يرتبط مثيل المعالج ارتباطاً وثيقاً بجلسة نقل ملف واحدة («one way usage i.e. per single file transfer session»). ولهذا السبب، تم حذف منشئ النسخ [SWS_DM_01544] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.2.1 «DataTransferWriteHandler») وعامل إسناد النسخ [SWS_DM_01545] (=delete).

في المقابل، فإن عمليات النقل مسموح بها: تم تنفيذ كل من منشئ النقل [SWS_DM_01542] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.1.1 «Move Constructor») وعامل إسناد النقل [SWS_DM_01543] بواسطة noexcept=default، ويُعدان آمنين من الاستثناءات (exception safe).

ينطبق شرط مسبق ملزم على تفكيك المثيل: لا يجوز بأي حال من الأحوال تدمير مثيل لهذه الفئة قبل استدعاء الدالة ExitWrite() [SWS_DM_01541] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.1.2 «Destructor»). ولا يجوز استدعاء المدمر الافتراضي ~DataTransferWriteHandler() إلا بعد التنفيذ الكامل لـ ExitWrite(). تم تحديد دوال الأعضاء والمدمر على أنها غير آمنة لخيوط المعالجة (not thread-safe) [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()

مخطط الحالة: دورة الحياة وتسلسل الاستدعاء لمثيل DataTransferWriteHandler. المصادر: [SWS_DM_01541]، [SWS_DM_01544].

مسار الاستخدام

يتضمن المسار المعتاد لنقل الكتابة الاستقبال التدريجي لكتل البيانات والاختتام اللاحق للجلسة:

  • لكل جزء بيانات وارد، يستدعي نظام التشخيص الدالة الافتراضية الصرفة Write() [SWS_DM_01546] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.3.2 «Write»). يتم تمرير البيانات كـ ara::core::Span<ara::core::Byte>. وتظل صلاحية منطقة الذاكرة هذه قائمة حتى يتم استيفاء Promise المقترن بها أو إلغاء العملية. يُلحق التطبيق البيانات بالمخزن المؤقت الداخلي ويُرجع ara::core::Future<void>.
  • بعد نقل جميع الأجزاء، تستدعي المنصة الدالة الافتراضية الصرفة ExitWrite() [SWS_DM_01547] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.3.1 «ExitWrite»). ويتم تمرير سبب الإنهاء (DataTransferExitType)، والمعلمات الخاصة بالشركة المصنعة للمركبة (transferRequestParameterRecord)، وmetaInfo، بالإضافة إلى CancellationHandler.
  • تُرجع الدالة ExitWrite() كائن ara::core::Future<ara::core::Vector<ara::core::Byte>>. وعند الاكتمال بنجاح، يتم إدراج البيانات الواردة فيه كـ transferResponseParameterRecord خلف معرف الخدمة (Service ID) في رسالة استجابة UDS الإيجابية [SWS_DM_01547].
سير العمل النموذجي لنقل بيانات الكتابةUDS-ClientDiagnose-ManagementDataTransferWriteHandlerUse Case: نقل بيانات الكتابةTransferData-AnfrageWrite(requestData, metaInfo, cancellationHandler)إلحاق كتلة بياناتFuture<void> bereitstellenPositive UDS-AntwortUse Case: إكمال عملية النقلRequestTransferExit-AnfrageExitWrite(exitType, transferRequestParameterRecord, ...)Session beenden & Response-Parameter vorbereitenFuture<Vector<Byte>> bereitstellenPositive UDS-Antwort (transferResponseParameterRecord)

مخطط التسلسل: تسلسل استدعاء عمليتي Write وExitWrite أثناء جلسة النقل. المصادر: [SWS_DM_01546]، [SWS_DM_01547].

سيناريوهات الأخطاء

تتم إدارة الأخطاء أثناء معالجة البيانات والنقل عبر قيم إرجاع قياسية وآليات إلغاء:

  • في حال فشل كتابة كتلة بيانات أو إنهاء النقل، يتم توفير Future المعني مع ara::core::ErrorCode من DiagUdsNrcErrc [SWS_DM_01546]، [SWS_DM_01547]. يؤدي هذا إلى إنشاء استجابة UDS سلبية مقابلة (NRC وفقاً للمعيار ISO 14229-1) إلى العميل.
  • توفر كلتا الدالتين CancellationHandler. يمكن للتطبيق التحقق عبر cancellationHandler.IsCanceled() مما إذا كانت المحادثة قد أُلغيت، أو تسجيل دالة إشعار باستخدام cancellationHandler.SetNotifier() تُنفذ عند إلغاء المحادثة [SWS_DM_01546]، [SWS_DM_01547].
  • إذا دُمِّر المثيل قبل استدعاء ExitWrite()، يُعد ذلك انتهاكاً لقاعدة دورة الحياة المحددة [SWS_DM_01541]، مما يؤدي على الأرجح إلى حالة نظام غير محددة وملفات غير مكتملة. سؤال Q-cc032c11ac89a5b1 (مفتوح) بالإضافة إلى ذلك، يؤدي الوصول المتزامن غير المحمي إلى عدم اتساق البيانات، نظراً لأن الواجهة غير آمنة لخيوط المعالجة بشكل صريح.

تم إعداد هذا الدليل بواسطة مساعد تنسيق بالذكاء الاصطناعي استناداً إلى AUTOSAR R25-11.

خريطة الأعضاء

المُنشئات والمُتلف

2

الدوال الأعضاء

2

المعاملات

1

مخطط الفئة

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

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

عرض التفاصيل

اختر عنصرًا من المخطط.

المُنشئات والمُتلف

Constructs an instance of this class.

التحميلات الزائدة 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;

الدوال الأعضاء

ExitWrite دالة

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 دالة

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;

المعاملات

operator= دالة 2

Move assigns an instance of this class.

التحميلات الزائدة = 2
auto operator= (DataTransferWriteHandler &&other) & noexcept -> Data TransferWriteHandler & =default; SWS_DM_01543
auto operator= (DataTransferWriteHandler const &) -> DataTransferWrite Handler &=delete; SWS_DM_01545

توثيق الدوال

دالة 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#1a9724d6
Content hash
1a9724d6
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

دالة 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#6cff5fa5
Content hash
6cff5fa5
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

دالة 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#05979044
Content hash
05979044
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

دالة 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.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 459b3563e8d0 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُنهي الدالة العضو الافتراضية ara::diag::DataTransferWriteHandler::ExitWrite جلسة نقل بيانات جارية لعمليات الوصول للكتابة [SWS_DM_01547] (AUTOSAR_AP_SWS_Diagnostics §8.10.6.1.3.1 «ExitWrite»، الترويسة #include "ara/diag/data_transfer.h"). تتضمن معلمات الاستدعاء ما يلي:

  • exitType: يُحدد سبب إنهاء الجلسة [SWS_DM_01547].
  • transferRequestParameterRecord: معلمات خاصة بالشركة المصنعة للمركبة لدعم نقل البيانات؛ يجب أن تظل صلاحية الـ Span قائمة حتى يتم الوفاء بـ Promise المقترن أو إلغاء العملية [SWS_DM_01547].
  • metaInfo: معلومات وصفية لطلب التشخيص [SWS_DM_01547].
  • cancellationHandler: يُتيح الاستعلام عن حالة الإلغاء عبر cancellationHandler.IsCanceled() وكذلك تسجيل مُخطر عبر cancellationHandler.SetNotifier() [SWS_DM_01547].

تعمل الدالة بشكل غير متزامن وتُرجع ara::core::Future<ara::core::Vector<ara::core::Byte>>، والتي يتم إدراج بيانات نتيجته في حالة النجاح كـ transferResponseParameterRecord خلف SID في رسالة الاستجابة الإيجابية [SWS_DM_01547].

معالجة الأخطاء

إذا فشل الإنهاء، يجب توفير Future مع Negative Response Code (NRC) مناسب وفقًا لـ ISO 14229-1 عبر DiagUdsNrcErrc [SWS_DM_01547]. تم تحديد الدالة بأنها noexcept بالإضافة إلى كونها آمنة من الاستثناءات (exception safe) [SWS_DM_01547].

التزامن والتفاعل

التنفيذ غير آمن مؤشريًا (not thread-safe) [SWS_DM_01547]. فيما يتعلق بدورة حياة الكائن، يوجد شرط ترتيب صارم: لا يجوز إتلاف مثيل فئة المعالج إلا بعد استدعاء ExitWrite() [SWS_DM_01541].

تم إنشاء ملاحظة الاستخدام هذه تلقائيًا بناءً على مواصفات AUTOSAR للإصدار R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد 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#e7f66a74
Content hash
e7f66a74
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

دالة 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.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a81be0f54500 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الطريقة Write للواجهة ara::diag::DataTransferWriteHandler لإلحاق كتل البيانات المستلمة بنطاق ذاكرة التطبيق أثناء نقل ملفات UDS [SWS_DM_01546]. يتم إجراء الاستدعاء بواسطة مثيل خادم التشخيص عند استلام طلب UDS من النوع TransferData (0x36) في إطار عملية تم بدءها بواسطة RequestFileTransfer (0x38) [SWS_DM_01317].

المعلمات والدلالات

يتم تمرير محتويات الملف المراد كتابتها عبر requestData كـ ara::core::Span<ara::core::Byte>؛ ويظل المخزن المؤقت المشار إليه صالحًا حتى يتم الوفاء بـ Promise المقترن أو إلغاء المعالجة [SWS_DM_01546]. توفر المعلمة metaInfo معلومات وصفية لطلب التشخيص. وعبر cancellationHandler، يمكن التحقق من حالة الإلغاء الحالية بواسطة IsCanceled أو تسجيل رد نداء للإشعار عبر SetNotifier [SWS_DM_01546].

معالجة الأخطاء والتزامن

تُرجع النتيجة بشكل غير متزامن كـ ara::core::Future<void>. وفي حالة النجاح، يكتمل Future فارغًا؛ وفي حالة حدوث أخطاء، يجب إكماله باستخدام Negative Response Code (NRC) مناسب من DiagUdsNrcErrc وفقًا للمعيار ISO 14229-1 [SWS_DM_01546]. تم تحديد الدالة بأنها exception safe، ولكن صراحةً بأنها not thread-safe [SWS_DM_01546]؛ ولذلك من المتوقع أن يضمن خادم التشخيص استدعاءات متسلسلة للجلسة نفسها. سؤال Q-e60d55fe09b9a2c5 (مفتوح)

التفاعل والتسلسل

يتم تسجيل معالج الكتابة عبر مُنشئات القوالب داخل DataTransferWriteSession [SWS_DM_01317]. وبمجرد إنهاء النقل بواسطة RequestTransferExit (0x37)، يستدعي الخادم طريقة Exit للمعالج نفسه [SWS_DM_01318]. ويتميز هذا العنصر عن طرق الكتابة المرتبطة بـ DID كما هي محددة في [SWS_DM_00598] أو [SWS_DM_00637].

تم إنشاء هذا النص تلقائيًا. العبارات الفنية موثقة بمراجع المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد 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#78edca3c
Content hash
78edca3c
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

دالة 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#810caac8
Content hash
810caac8
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

دالة 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#e02c77ac
Content hash
e02c77ac
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

دالة ~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#c40486cc
Content hash
c40486cc
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