DEENESPTFRRUARHIKOZHNL

فئة ara::diag::DataTransferReadSharedDataHandler

[SWS_DM_01497] Upstream: RS_Diag_04135

class DataTransferReadSharedDataHandler {...};

Handles data transfers initiated by RequestReadFile/-Directory with shared data from the implementation.

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 · درجة الحرارة: غير قابل للتحكم · الموجّه: 4c654c39d186 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يُمكّن من قراءة ملفات أو دلائل كاملة عبر نطاقات ذاكرة مشتركة عند تلقي طلبات التشخيص.

تُستخدم الفئة ara::diag::DataTransferReadSharedDataHandler لمعالجة عمليات نقل بيانات التشخيص للقراءة لمحتويات الملفات والدلائل عبر الذاكرة المشتركة ([SWS_DM_01497]). بعد بدء الجلسة، يوفر تطبيق التطبيق كامل البيانات كعرض بيانات مشتركة (Shared Data View) عبر Read() ويحتفظ بالذاكرة الوسيطة المخصصة حتى إشعار التحرير بواسطة ReleaseHandler ([SWS_DM_01504]). قبل تدمير الكائن الخاص بالمعالج، يجب إنهاء جلسة النقل بصورة إلزامية عبر ExitRead(). الكائن مخصص حصرياً لجلسة نقل واحدة، وبالتالي يجوز نقله ولكن لا يجوز نسخه.

السياق

تنتمي الفئة ara::diag::DataTransferReadSharedDataHandler إلى مجال التشخيص في AUTOSAR Adaptive Platform في الوحدة diag (AUTOSAR_AP_SWS_Diagnostics §8.10.5 «Class: DataTransferReadSharedDataHandler»). وتتمثل مهمتها الأساسية في معالجة عمليات نقل البيانات لمحتويات الملفات والدلائل التي بدأت بطلبات UDS مثل RequestReadFile أو RequestReadDirectory ([SWS_DM_01497]). وبدلاً من خطوات النسخ المنفردة لكل كتلة نقل، يُمكّن هذا المعالج التنفيذ الخاص بالتطبيق من توفير كامل البيانات كنطاق ذاكرة مشتركة متصل.

تتعاون ثلاثة أطراف فاعلة رئيسية في مجمل تسلسل النظام: يرسل عميل UDS الخارجي طلب القراءة إلى وحدة التحكم الإلكترونية (ECU). وتستقبل بيئة تشغيل التشخيص AraDiag الطلب وتمرر التنفيذ إلى التنفيذ الفعلي لـ DataTransferReadSharedDataHandler ([SWS_DM_01497]، [SWS_DM_01504]). أما الطرف الثالث، وهو ReleaseHandler، فيُشير إلى التطبيق بمجرد أن تصبح موارد الذاكرة المشتركة غير مطلوبة من قبل المنصة ويمكن تحريرها ([SWS_DM_01504]).

DataTransferContext UdsClient UDS-Client AraDiag AraDiag UdsClient->AraDiag UDS RequestReadFile / RequestReadDirectory AraDiag->UdsClient UDS-Antwortdaten Handler DataTransferReadSharedDataHandler AraDiag->Handler Read() / ExitRead() ReleaseHandler ReleaseHandler AraDiag->ReleaseHandler Freigabebenachrichtigung Handler->AraDiag Shared Data (Span) / Vector ReleaseHandler->Handler Speicherfreigabe signalisiert

مخطط السياق: التفاعل بين عميل UDS وبيئة تشغيل AraDiag وتنفيذ المعالج من جانب التطبيق. المصادر: [SWS_DM_01497]، [SWS_DM_01504]، [SWS_DM_01505]

دورة الحياة

يتم إنشاء المعالج عبر المنشئ الافتراضي الخالي من المعلمات ([SWS_DM_01498]، AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.1 «Default Constructor»). وفيما يتعلق بملكية الموارد، يسري مبدأ الاستخدام أحادي الاتجاه: لا يجوز نسخ المعالجات، نظراً لأن المثيل يرتبط حصرياً بجلسة نقل ملفات واحدة ([SWS_DM_01501]، [SWS_DM_01503]). وبالتالي تم تمييز كل من منشئ النسخ (AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.2.1 «DataTransferReadSharedDataHandler») وعامل تخصيص النسخ بصفة delete. يمكن نقل المثيلات عبر عمليات النقل: تم التصريح عن منشئ النقل ([SWS_DM_01500]، AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.2 «Move Constructor») وعامل تخصيص النقل ([SWS_DM_01502]) بصفة default وnoexcept.

يسري شرط مسبق صارم لتدمير الكائن: لا يجوز بأي حال من الأحوال تدمير مثيل لهذه الفئة قبل إنهاء جلسة النقل رسمياً باستدعاء ExitRead() ([SWS_DM_01499]، AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.3 «Destructor»). ولا يجوز تنفيذ المدمر الافتراضي إلا بعد إتمام معالجة الإنهاء هذه ([SWS_DM_01499]).

فيما يتعلق بالتزامن، تم تحديد الدالتين المركزيتين Read() وExitRead() على أنهما غير آمنتين خيطياً (not thread-safe)، في حين تضمن جميع دوال الواجهة الأمان من الاستثناءات (exception safe) ([SWS_DM_01498]، [SWS_DM_01504]، [SWS_DM_01505]).

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

يتضمن تسلسل الاستدعاء النموذجي لنقل البيانات باستخدام نطاقات الذاكرة المشتركة عدة خطوات:

  • توفير البيانات المشتركة (Shared Data): يستدعي AraDiag الدالة الافتراضية البحتة Read() ويمرر ReleaseHandler، وMetaInfo، بالإضافة إلى CancellationHandler ([SWS_DM_01504]). يخصص التطبيق كامل محتوى الملف أو الدليل ويعيد العرض المشترك له كـ ara::core::Span<ara::core::Byte> عبر ara::core::Future إلى AraDiag ([SWS_DM_01504]).
  • الاحتفاظ بالذاكرة والتحرير: يجب على التطبيق إلزامياً إبقاء الذاكرة المخصصة سليمة إلى أن يُشير ReleaseHandler إلى إمكانية تحرير نطاق الذاكرة بأمان ([SWS_DM_01504]). يمكن للتطبيق تسجيل دالة إشعار (Notifier) لدى ReleaseHandler لهذا الغرض أو الاستعلام النشط عن حالته ([SWS_DM_01504]). تفسير: يُرجح أن تتم الإشارة عبر ReleaseHandler بشكل غير متزامن بواسطة AraDiag بمجرد إرسال كتل البيانات بنجاح إلى عميل UDS. سؤال Q-0fbc1c5e667c9a68 (مفتوح)
  • إنهاء الجلسة: لإنهاء الإرسال، يستدعي AraDiag الدالة ExitRead() ([SWS_DM_01505]، AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). بالإضافة إلى سبب الإنهاء (DataTransferExitType)، يتم تمرير معلمات الطلب الخاصة بالشركة المصنعة للمركبة، والتي يُضمن بقاؤها صالحة حتى الوفاء بالـ Promise الخاص بالنتيجة ([SWS_DM_01505]). يُعيد التطبيق بيانات الاستجابة عبر ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]).
  • تدمير الكائن: بعد نجاح استدعاء ExitRead()، يجوز تحرير مثيل المعالج وتدميره ([SWS_DM_01499]).
سير عملية نقل البيانات المشتركة للقراءةAraDiagDataTransferReadSharedDataHandlerReleaseHandlerRead(release_handler, meta_info, cancellation_handler)Speicher allozieren & Shared Data View erstellenFuture<Span<Byte>> مع Shared Data ViewUse Case: Speicherfreigabeاستدعاء Notifier أو تعيين الحالةSpeicherfreigabe signalisiertAlloziierten Puffer freigebenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancellation_handler)Future<Vector<Byte>> (OperationOutput)

مخطط التسلسل: تسلسل الخطوات بدءاً من توفير البيانات عبر ()Read مروراً بتحرير الذاكرة وحتى الإنهاء عبر ()ExitRead. المصادر: [SWS_DM_01499]، [SWS_DM_01504]، [SWS_DM_01505]

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

في حال حدوث أخطاء أثناء توفير البيانات أو عند إنهاء الإرسال، يتم الإبلاغ عنها عبر ara::core::Future المعني مصحوباً بـ ara::core::ErrorCode من النطاق DiagUdsNrcErrc وفقاً للمعيار ISO 14229-1 ([SWS_DM_01504]، [SWS_DM_01505]).

يمثل إلغاء محادثة تشخيص جارية سيناريو آخر. تحصل كلتا الدالتين على CancellationHandler ([SWS_DM_01504]، [SWS_DM_01505]). يمكن للتطبيق التحقق بشكل متزامن من حالة الإلغاء عبر cancellation_handler.IsCanceled() أو إيداع دالة إشعار عبر cancellation_handler.SetNotifier() للتفاعل الفوري في حال حدوث إلغاء مبكر ([SWS_DM_01504]، [SWS_DM_01505]).

إن انتهاك الشرط المسبق المتعلق بالمدمر – في حال تدمير الكائن قبل استدعاء ExitRead() – يتعارض مع المتطلب [SWS_DM_01499] ويؤدي إلى حالات برنامج خاطئة.

يستند دليل الفئات هذا إلى مواصفة AUTOSAR Adaptive Platform Release R25-11.

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

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

2

المعاملات

1

مخطط الفئة

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

G nara__diag__DataTransferReadSharedDataHandler544 DataTransferReadSharedDataHandler + DataTransferReadSharedDataHandler() + ~DataTransferReadSharedDataHandler() + ExitRead() + Read() + operator=()

عرض التفاصيل

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

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

Constructs an instance of this class.

التحميلات الزائدة DataTransferReadSharedDataHandler 3
DataTransferReadSharedDataHandler () noexcept=default; SWS_DM_01498
DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default; SWS_DM_01500
DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete; SWS_DM_01501

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

virtual ~DataTransferReadSharedDataHandler () noexcept=default;

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

ExitRead دالة

Exits an ongoing data transfer session.

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;
Read دالة

Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler’s notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released.

virtual auto Read (ReleaseHandler release_handler, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0;

المعاملات

operator= دالة 2

Move assigns an instance of this class.

التحميلات الزائدة = 2
auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default; SWS_DM_01502
auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete; SWS_DM_01503

توثيق الدوال

دالة DataTransferReadSharedDataHandler [SWS_DM_01498] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01498
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01498@rel:R25-11#19d71433
Content hash
19d71433
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01498
Status: valid/unmigrated Version: rel:R25-11#9b4d17d4 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_01498@rel:R25-11#9b4d17d4
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9604c17f2026-09-30
  • R22-11rel:R22-11#484fb5092026-10-14
  • R23-11rel:R23-11#8a81d7d52026-10-14
  • R24-11rel:R24-11#b779c4dd2026-10-14
  • R25-11rel:R25-11#9b4d17d42026-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

دالة DataTransferReadSharedDataHandler [SWS_DM_01500] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
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_01500
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01500@rel:R25-11#51d37877
Content hash
51d37877
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01500
Status: valid/unmigrated Version: rel:R25-11#8e1ba0c2 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_01500@rel:R25-11#8e1ba0c2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e2f2ec4a2026-09-30
  • R22-11rel:R22-11#2549265b2026-10-14
  • R23-11rel:R23-11#4fc7fa8a2026-10-14
  • R24-11rel:R24-11#115062c32026-10-14
  • R25-11rel:R25-11#8e1ba0c22026-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

دالة DataTransferReadSharedDataHandler [SWS_DM_01501] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01501@rel:R25-11#f5437b72
Content hash
f5437b72
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01501
Status: valid/unmigrated Version: rel:R25-11#78df071e 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_01501@rel:R25-11#78df071e
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#d442aedb2026-09-30
  • R22-11rel:R22-11#231201f12026-10-14
  • R23-11rel:R23-11#6acf11902026-10-14
  • R24-11rel:R24-11#97f451652026-10-14
  • R25-11rel:R25-11#78df071e2026-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

دالة ExitRead [SWS_DM_01505] Upstream: RS_Diag_04135

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

Exits an ongoing data transfer session.

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

تنهي الواجهة ExitRead للفئة ara::diag::DataTransferReadSharedDataHandler ([SWS_DM_01505]؛ ملف الرأس ara/diag/data_transfer.h) جلسة نقل بيانات جارية.

الاستخدام والمعلمات

يتم الاستدعاء بشكل غير متزامن ويُرجع ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]؛ AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). وتُمرر المعلمات التالية:

  • exit_type (DataTransferExitType): تحدد سبب إنهاء الجلسة.
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): تحتوي على معلمات خاصة بالشركة المصنعة لدعم النقل. وتظل البيانات صالحة حتى يتم استيفاء Promise المرتبط أو إلغاء المعالجة.
  • meta_info (MetaInfo const&): تتضمن معلومات وصفية إضافية لطلب التشخيص.
  • cancellation_handler (CancellationHandler): تسمح بفحص حالة الإلغاء باستخدام cancellation_handler.IsCanceled() وتسجيل دالة إشعار عبر cancellation_handler.SetNotifier()، والتي يتم استدعاؤها عند إلغاء المحادثة.

معالجة الأخطاء وقيم الإرجاع

عند الاكتمال الناجح، يوفر Future بيانات الإخراج (transferResponseParameterRecord)، والتي توضع في الاستجابة الإيجابية بعد SID [SWS_DM_01505]. وفي حالة الخطأ، يتم استيفاء Future برمز خطأ من DiagUdsNrcErrc (NRC المنطبق وفقاً للمواصفة ISO 14229-1) [SWS_DM_01505].

التزامن ودورة الحياة

أُعلن عن الطريقة بأنها noexcept (آمنة من الاستثناءات - exception safe)، ولكن حُددت صراحةً بأنها not thread-safe (غير آمنة بالنسبة للخيوط) [SWS_DM_01505]. وفيما يتعلق بدورة حياة الكائن، يسري الشرط بأنه لا يجوز بأي حال تدمير حالة من DataTransferReadSharedDataHandler قبل استدعاء ExitRead() ([SWS_DM_01499]). وتوجد دوال إنهاء ومتطلبات مدمر مماثلة للفئات ذات الصلة DataTransferReadByPullHandler ([SWS_DM_01514]) وDataTransferReadByPushHandler ([SWS_DM_01523]).

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى مواصفات AUTOSAR Adaptive Platform.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

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

Parameter (in)

ParameterBeschreibung
exit_typeSpecifies the exit reason
transfer_request_This parameter record contains parameter(s), which are required
parameter_recordby 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.
meta_infocontains additional meta information of the request.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). 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_01505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01505@rel:R25-11#469159f7
Content hash
469159f7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01505
Status: valid/unmigrated Version: rel:R25-11#e1792911 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_01505@rel:R25-11#e1792911
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#620bca3b2026-09-30
  • R22-11rel:R22-11#6fa010712026-10-14
  • R23-11rel:R23-11#aed9f17a2026-10-14
  • R24-11rel:R24-11#70ebc8d42026-10-14
  • R25-11rel:R25-11#e17929112026-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

دالة Read [SWS_DM_01504] Upstream: RS_Diag_04135

virtual auto Read (ReleaseHandler release_handler, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0;

Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler’s notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released.

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

توفر الطريقة Read للواجهة ara::diag::DataTransferReadSharedDataHandler بيانات ملف أو دليل مطلوب قراءتها لعميل UDS عبر عرض ذاكرة مشتركة ([SWS_DM_01504]). يتم الاستدعاء بشكل غير متزامن ويُرجع ara::core::Future يحتوي على ara::core::Span<ara::core::Byte> ([SWS_DM_01504]).

الاستخدام ودورة الحياة

يخصص التطبيق المنفِّذ المحتوى بالكامل بنفسه ويمرر العرض إلى AraDiag. يجب الحفاظ على منطقة الذاكرة الأساسية دون تغيير حتى تتم الإشارة إلى التحرير عبر ReleaseHandler المُمرَّر بواسطة المُخطِر (Notifier) الخاص به أو الاستعلام عنه عبر فحص الحالة ([SWS_DM_01504]). يجب حفظ ReleaseHandler لنفس عميل UDS استنادًا إلى MetaInfo ([SWS_DM_01504]). عبر CancellationHandler، يمكن مراقبة عملية نقل جارية عبر IsCanceled() أو تسجيل مُخطِر إلغاء عبر SetNotifier() ([SWS_DM_01504]).

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

في حالة النجاح، تُرسل البيانات كـ transferResponseParameterRecord بعد blockSequenceCounter ([SWS_DM_01504]). إذا فشلت القراءة، فيجب إكمال Future برمز خطأ مناسب من DiagUdsNrcErrc وفقًا للمعيار ISO 14229-1 ([SWS_DM_01504]). إذا لم تكن واجهة التطبيق قد توفرت بعد أو لم تعد متوفرة عبر offer()، يبلغ الخادم بـ NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). تم تحديد الدالة كـ noexcept وآمنة من الاستثناءات، ولكنها تُعتبر غير آمنة مؤشريًا (not thread-safe) ([SWS_DM_01504]).

ترسيم الحدود

على عكس DataTransferReadByPullHandler::Read، حيث يتم نسخ كتل البيانات إلى مخزن مؤقت محدد مسبقًا ([SWS_DM_01513])، أو DataTransferReadByPushHandler::Read، الذي يوفر المتجهات عبر نقل الملكية ([SWS_DM_01522])، ينقل هذا المعالج المحتوى الإجمالي دون نسخ إلى المخزن المؤقت عبر ذاكرة مشتركة ([SWS_DM_01504]).

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

دليل المنفِّذ قيد الإعداد (التعقيد I1)

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

Parameter (in)

ParameterBeschreibung
release_handlerThe release shared resource handler to be stored and used by the application until a new one is passed for the same meta_info (UDS client).
meta_infoContains additional meta information.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Span<ara::core::Byte > >Returns a Future, which either gets readied to ReadSharedOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in ReleaseSharedHandler.responseData will be placed after the blockSequenceCounter 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_01504
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01504@rel:R25-11#29e79623
Content hash
29e79623
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01504
Status: valid/unmigrated Version: rel:R25-11#70152a76 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_01504@rel:R25-11#70152a76
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c2d856732026-09-30
  • R22-11rel:R22-11#2ac3f98c2026-10-14
  • R23-11rel:R23-11#a77ff00a2026-10-14
  • R24-11rel:R24-11#cb8092b92026-10-14
  • R25-11rel:R25-11#70152a762026-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_01502] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default;

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadSharedDataHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01502
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01502@rel:R25-11#8bc58133
Content hash
8bc58133
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01502
Status: valid/unmigrated Version: rel:R25-11#832e8a63 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_01502@rel:R25-11#832e8a63
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1624a5042026-09-30
  • R22-11rel:R22-11#e14988b02026-10-14
  • R23-11rel:R23-11#50b572f72026-10-14
  • R24-11rel:R24-11#267467a32026-10-14
  • R25-11rel:R25-11#832e8a632026-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_01503] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01503
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01503@rel:R25-11#e2de35a5
Content hash
e2de35a5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01503
Status: valid/unmigrated Version: rel:R25-11#b992cd12 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_01503@rel:R25-11#b992cd12
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#12b3008f2026-09-30
  • R22-11rel:R22-11#82fbd70f2026-10-14
  • R23-11rel:R23-11#c35f38a12026-10-14
  • R24-11rel:R24-11#15d3796f2026-10-14
  • R25-11rel:R25-11#b992cd122026-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

دالة ~DataTransferReadSharedDataHandler [SWS_DM_01499] Upstream: RS_Diag_04135

virtual ~DataTransferReadSharedDataHandler () noexcept=default;

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

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

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

Record
AUTOSAR/AP/record/SWS_DM_01499
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01499@rel:R25-11#e7e8a0b9
Content hash
e7e8a0b9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01499
Status: valid/unmigrated Version: rel:R25-11#885ef68d 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_01499@rel:R25-11#885ef68d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9cd521aa2026-09-30
  • R22-11rel:R22-11#8b4091042026-10-14
  • R23-11rel:R23-11#404559c12026-10-14
  • R24-11rel:R24-11#e200ae122026-10-14
  • R25-11rel:R25-11#885ef68d2026-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