DEENESPTFRRUARHIKOZHNL

فئة ara::diag::DataTransferReadByPullHandler

[SWS_DM_01506] Upstream: RS_Diag_04135

class DataTransferReadByPullHandler {...};

Handles data transfers initiated by RequestReadFile/-Directory with data pulled by AraDiag 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 · درجة الحرارة: غير قابل للتحكم · الموجّه: a81aee002281 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يُمكّن بيئة تشغيل التشخيص من الاسترداد التدريجي لبيانات الملفات والدلائل من أحد التطبيقات.

تُستخدم الفئة ara::diag::DataTransferReadByPullHandler لتوفير بيانات الملفات أو الدلائل، والتي تُسترد بنشاط من التطبيق بواسطة طبقة التشخيص AraDiag في إطار عملية قراءة UDS ([SWS_DM_01506]). يشمل التسلسل الاسترداد التدريجي للبيانات عبر Read() وصولاً إلى الإنهاء النهائي للجلسة عبر ExitRead(). وبوصفه شرطاً صارماً لدورة الحياة، لا يجوز بأي حال من الأحوال تدمير مثيل المعالج، المخصص لجلسة نقل واحدة تحديداً، قبل استدعاء ExitRead() ([SWS_DM_01510]).

السياق

تتولى الفئة ara::diag::DataTransferReadByPullHandler ([SWS_DM_01506]، AUTOSAR_AP_SWS_Diagnostics §8.10.2 «Class: DataTransferReadByPullHandler») معالجة عمليات نقل البيانات التي بدأتها طلبات التشخيص لقراءة الملفات أو الدلائل (مثل RequestReadFile أو RequestReadDirectory). تعتمد البنية على آلية سحب (Pull)، حيث تقوم طبقة التشخيص AraDiag بالاستعلام النشط عن البيانات المراد نقلها («pulled») من التنفيذ.

تشترك ثلاثة مكونات في هذا التفاعل: عميل UDS الخارجي (فاحص التشخيص)، ونظام التشخيص الفرعي AraDiag، وتطبيق المعالج الخاص بالتطبيق. يرسل العميل الخارجي طلبات القراءة، وبناءً على ذلك يستدعي AraDiag دوال المعالج لتوفير كتل البيانات تدريجياً وإرسالها إلى عميل UDS ([SWS_DM_01513]).

دورة الحياة

ترتبط دورة حياة مثيل المعالج حصرياً بجلسة نقل ملفات واحدة. تم التصريح عن المنشئ الافتراضي بصفة protected ([SWS_DM_01507]). تفسير: يُرجح بالتالي أن يقوم التطبيق الفعلي بتنفيذ فئة فرعية مشتقة وإنشاء مثيل لها. سؤال Q-cb78bc4a1d40968b (مفتوح)

تم تعطيل عمليات النسخ بالكامل: تم تحديد منشئ النسخ ([SWS_DM_01509]) وعامل تخصيص النسخ ([SWS_DM_01512]) على أنهما محذوفان (=delete)، نظراً لأن المعالجات مخصصة للاستخدام أحادي الاتجاه ضمن جلسة واحدة («only one way usage i.e. per single file transfer session»). وفي المقابل، تم تعريف عمليات النقل (Move Constructor وMove Assignment) كتنفيذ افتراضي والتصريح عنها كـ noexcept ([SWS_DM_01508]، [SWS_DM_01511]، AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.1.1 «Move Constructor»).

يسري شرط مسبق صارم لعملية التحرير: لا يجوز بأي حال من الأحوال تدمير مثيل للفئة قبل استدعاء الدالة ExitRead() ([SWS_DM_01510]، AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.1.2 «Destructor»). وفيما يتعلق بالتزامن، تم تعريف دوال الواجهة Read() وExitRead() على أنها غير آمنة خيطياً («not thread-safe»)، ولكنها آمنة من الاستثناءات (noexcept) ([SWS_DM_01513]، [SWS_DM_01514]).

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

ينقسم التسلسل القياسي لاسترداد البيانات إلى الخطوات التالية:

  1. التهيئة: يُنشئ التطبيق مثيلاً من فئة المعالج المشتقة لجلسة النقل القادمة.
  2. استرداد البيانات: لتوفير كتل البيانات، يستدعي AraDiag الدالة Read() ([SWS_DM_01513]، AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.3.2 «Read»). يحصل التطبيق على عرض ذاكرة response_data (من النوع ara::core::Span<const ara::core::Byte>) يشير إلى ذاكرة وسيطة مخصصة مسبقاً بواسطة AraDiag، ويملؤها بمحتويات الملف التالية ويختم ara::core::Future<std::uint32_t> بعدد البايتات المكتوبة. يدرج AraDiag هذه البيانات بعد عداد تسلسل الكتل (blockSequenceCounter) كـ transferResponseParameterRecord في استجابة UDS الإيجابية ([SWS_DM_01513]). وتتكرر هذه الخطوة للكتل اللاحقة.
  3. إنهاء الجلسة: لإنهاء الإرسال بشكل نظامي، يستدعي AraDiag ExitRead() ([SWS_DM_01514]، AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.3.1 «ExitRead»). ويتم تمرير سبب الإنهاء exit_type، ومعلمات محددة من الشركة المصنعة (transfer_request_parameter_record)، وmeta_info، وcancellation_handler. ويؤكد التنفيذ ذلك عبر ara::core::Future<ara::core::Vector<ara::core::Byte>>، حيث تُنقل قيمه المرجعة بعد SID في الاستجابة الإيجابية ([SWS_DM_01514]).
  4. التحرير: لا يجوز تدمير كائن المعالج إلا بعد اكتمال استدعاء ExitRead() ([SWS_DM_01510]).
سير عملية نقل البيانات بأسلوب السحب (Pull)UDS-ClientAraDiagHandlerLeseanforderung (RequestReadFile/-Directory)Read(response_data, meta_info, cancellation_handler)Datenblock in response_data schreibenFuture<uint32_t> (geschriebene Bytezahl)Positive UDS-Antwort (Datenblock)Abschlussanforderung (TransferExit)ExitRead(exit_type, transfer_request_parameter_record, ...)Future<Vector<Byte>> (تأكيد/بيانات إضافية)Positive UDS-Antwort (TransferExit)

مخطط التسلسل: التسلسل النموذجي لاسترداد البيانات بآلية السحب عبر AraDiag. المصادر: [SWS_DM_01513]، [SWS_DM_01514]

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

في حال حدوث أخطاء أثناء تجهيز البيانات أو عند الإنهاء، يُبلغ التطبيق عن ذلك عبر Future المُرجع، من خلال توفيره مصحوباً برمز خطأ UDS (DiagUdsNrcErrc وفقاً للمعيار ISO 14229-1) ([SWS_DM_01513]، [SWS_DM_01514]). وبناءً على ذلك، يُنشئ AraDiag استجابة UDS السلبية (NRC) المقابلة إلى الفاحص.

للإلغاء المبكر، يتم تمرير CancellationHandler إلى كلتا الدالتين ([SWS_DM_01513]، [SWS_DM_01514]). يمكن للتطبيق التحقق عبر cancellation_handler.IsCanceled() مما إذا كانت المحادثة قد أُلغيت، أو تسجيل دالة رد نداء عبر cancellation_handler.SetNotifier(). تظل الذواكر الوسيطة الموفرة (response_data وtransfer_request_parameter_record) صالحة حتى الوفاء بالـ Promise أو حتى الإلغاء عبر المعالج.

إذا تم تدمير المثيل قبل استدعاء ExitRead()، فإن ذلك يمثل انتهاكاً لمتطلبات المواصفة ([SWS_DM_01510])، مما قد يؤدي إلى جلسات نقل غير مكتملة وحالات نظام غير محددة.

يستند دليل الفئة هذا إلى مواصفة AUTOSAR Adaptive R25-11 ويلخص متطلبات الواجهة ara::diag::DataTransferReadByPullHandler.

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

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

2

المعاملات

1

مخطط الفئة

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

G nara__diag__DataTransferReadByPullHandler313 DataTransferReadByPullHandler + DataTransferReadByPullHandler() + ~DataTransferReadByPullHandler() + ExitRead() + Read() + operator=()

عرض التفاصيل

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

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

Constructs an instance of this class.

التحميلات الزائدة DataTransferReadByPullHandler 3
DataTransferReadByPullHandler () noexcept=default; SWS_DM_01507
DataTransferReadByPullHandler (DataTransferReadByPullHandler &&other) noexcept=default; SWS_DM_01508
DataTransferReadByPullHandler (DataTransferReadByPullHandler const &)=delete; SWS_DM_01509

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

virtual ~DataTransferReadByPullHandler () 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 دالة

Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and copied into the provided by ara::diag Span with up to the requested Span size.

virtual auto Read (ara::core::Span< const ara::core::Byte > response_ data, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< std::uint32_t >=0;

المعاملات

operator= دالة 2

Move assigns an instance of this class.

التحميلات الزائدة = 2
auto operator= (DataTransferReadByPullHandler &&other) & noexcept -> DataTransferReadByPullHandler & =default; SWS_DM_01511
auto operator= (DataTransferReadByPullHandler const &) -> DataTransfer ReadByPullHandler &=delete; SWS_DM_01512

توثيق الدوال

دالة DataTransferReadByPullHandler [SWS_DM_01507] Upstream: RS_Diag_04135

DataTransferReadByPullHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01507
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01507@rel:R25-11#372f6472
Content hash
372f6472
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01507
Status: valid/unmigrated Version: rel:R25-11#60e90ec2 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_01507@rel:R25-11#60e90ec2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#326df67e2026-09-30
  • R22-11rel:R22-11#5e0a297b2026-10-14
  • R23-11rel:R23-11#c1526a6f2026-10-14
  • R24-11rel:R24-11#c9a8ba842026-10-14
  • R25-11rel:R25-11#60e90ec22026-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

دالة DataTransferReadByPullHandler [SWS_DM_01508] Upstream: RS_Diag_04135

DataTransferReadByPullHandler (DataTransferReadByPullHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPullHandler
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_01508
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01508@rel:R25-11#5825731f
Content hash
5825731f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01508
Status: valid/unmigrated Version: rel:R25-11#86fd98f3 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_01508@rel:R25-11#86fd98f3
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#017f4b222026-09-30
  • R22-11rel:R22-11#2ef417eb2026-10-14
  • R23-11rel:R23-11#11faa0bb2026-10-14
  • R24-11rel:R24-11#8d1119962026-10-14
  • R25-11rel:R25-11#86fd98f32026-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

دالة DataTransferReadByPullHandler [SWS_DM_01509] Upstream: RS_Diag_04135

DataTransferReadByPullHandler (DataTransferReadByPullHandler 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::DataTransferReadByPullHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01509
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01509@rel:R25-11#965c20e2
Content hash
965c20e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01509
Status: valid/unmigrated Version: rel:R25-11#23947b98 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_01509@rel:R25-11#23947b98
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#22037eeb2026-09-30
  • R22-11rel:R22-11#8ff68aa32026-10-14
  • R23-11rel:R23-11#f186fbd82026-10-14
  • R24-11rel:R24-11#3c2842b72026-10-14
  • R25-11rel:R25-11#23947b982026-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_01514] 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 · درجة الحرارة: غير قابل للتحكم · الموجّه: 7a822a7b2a3d المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تنهي الطريقة الافتراضية الصرفة ExitRead جلسة نقل بيانات جارية في إطار ara::diag::DataTransferReadByPullHandler [SWS_DM_01514] (AUTOSAR_AP_SWS_Diagnostics §8.10.2.1.3.1 «ExitRead»). وتستقبل كمعلمات سبب الإنهاء exit_type (النوع DataTransferExitType)، ومعلمات خاصة بالشركة المصنعة للمركبة في transfer_request_parameter_record (بصفتها ara::core::Span<const ara::core::Byte>)، وسياق الطلب meta_info بالإضافة إلى cancellation_handler. وتظل المعلمة transfer_request_parameter_record صالحة حتى يتم استيفاء Promise المرتبط أو إلغاء التنفيذ عبر معالج الإلغاء (Cancellation-Handler) [SWS_DM_01514].

يتم الاستدعاء بشكل غير متزامن ويُرجع ara::core::Future<ara::core::Vector<ara::core::Byte>> [SWS_DM_01514]:

  • في حالة النجاح، يُتاح Future لرسالة استجابة إيجابية؛ وتوضع البيانات من OperationOutput.response_data هنا كـ transferResponseParameterRecord بعد معرّف الخدمة (Service-ID).
  • في حالة الخطأ، يتم استيفاء Future برمز خطأ UDS‏ (NRC) وفقاً للمواصفة ISO 14229-1 من DiagUdsNrcErrc لرسالة استجابة سلبية.

أُعلن عن الدالة بأنها noexcept وآمنة من الاستثناءات (exception safe)، ولكنها ليست آمنة بالنسبة للخيوط (not thread-safe) [SWS_DM_01514]. وعبر cancellation_handler، يمكن الاستعلام عن حالة الإلغاء باستخدام cancellation_handler.IsCanceled() أو تسجيل دالة إشعار لإلغاء المحادثة عبر cancellation_handler.SetNotifier() [SWS_DM_01514].

فيما يتعلق بالترتيب، لا يجوز بأي حال تدمير حالة من DataTransferReadByPullHandler قبل استدعاء ExitRead() [SWS_DM_01510]. وتوجد دوال إنهاء وشروط مدمر مقابلة بالتوازي لـ ara::diag::DataTransferReadSharedDataHandler::ExitRead [SWS_DM_01505] ([SWS_DM_01499]) وara::diag::DataTransferReadByPushHandler::ExitRead [SWS_DM_01523] ([SWS_DM_01519]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي؛ وتعتبر المواصفة وحدها ملزمة.

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

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPullHandler
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_infoMetaInfo 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 > >A Future, which either gets readied to OperationOutput (transfer ResponseParameterRecord for a positive response message) or readied with UDS 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_01514
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01514@rel:R25-11#fcd463b1
Content hash
fcd463b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01514
Status: valid/unmigrated Version: rel:R25-11#5862e917 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_01514@rel:R25-11#5862e917
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#b7df1d392026-09-30
  • R22-11rel:R22-11#a8dad66b2026-10-14
  • R23-11rel:R23-11#bb1c081f2026-10-14
  • R24-11rel:R24-11#8447e69b2026-10-14
  • R25-11rel:R25-11#5862e9172026-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_01513] Upstream: RS_Diag_04135

virtual auto Read (ara::core::Span< const ara::core::Byte > response_ data, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< std::uint32_t >=0;

Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and copied into the provided by ara::diag Span with up to the requested Span size.

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

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

تُستخدم الطريقة Read للفئة ara::diag::DataTransferReadByPullHandler لقراءة كتل البيانات بواسطة التطبيق في إطار نقل بيانات UDS [SWS_DM_01513]. يُجمّع التطبيق كتل محتوى الملف أو الدليل الأولى أو اللاحقة وينسخها إلى المخزن المؤقت response_data (من النوع ara::core::Span<const ara::core::Byte>) المُمرَّر بواسطة ara::diag حتى الحجم الأقصى للنطاق (Span).

يتم الاستدعاء بشكل غير متزامن ويُرجع ara::core::Future<std::uint32_t> [SWS_DM_01513]. في حالة النجاح، يتم استيفاء الـ Future بعدد البايتات المتوفرة فعليًا؛ وتوضع هذه البيانات في استجابة UDS الإيجابية بعد blockSequenceCounter كـ transferResponseParameterRecord. عبر المَعلمة cancellation_handler، يمكن للتطبيق الاستعلام عن حالة الإلغاء باستخدام IsCanceled() أو تسجيل دالة إشعار للإلغاء عبر SetNotifier().

معالجة الأخطاء والشروط الحدية

في حالة الخطأ، يتم إكمال الـ Future برمز NRC لـ UDS قابل للتطبيق من DiagUdsNrcErrc وفقًا للمعيار ISO 14229-1 [SWS_DM_01513]. إذا كانت الواجهة غير متوفرة أو لم تعد متوفرة باستخدام offer()، يستجيب DM بـ NRC 0x94 (ResourceTemporarilyNotAvailable) [SWS_DM_01257].

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

تم تحديد الواجهة على أنها غير آمنة مؤشريًا (not thread-safe)، ولكنها آمنة من الاستثناءات (exception safe) [SWS_DM_01513]. تظل منطقة الذاكرة لـ response_data صالحة فقط حتى يتم استيفاء الـ Promise المقترن أو إلغاء العملية. كبديل لنمط السحب (Pull)، توجد لنقل البيانات طريقة الدفع (Push) عبر DataTransferReadByPushHandler::Read [SWS_DM_01522] بالإضافة إلى النقل بملكية مشتركة عبر DataTransferReadSharedOwnershipHandler::Read [SWS_DM_01504].

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

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

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

Parameter (in)

ParameterBeschreibung
response_dataThe view over a pre-allocated by AraDiag memory to write in this data chunk. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
meta_infoMetaInfo 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<std::uint32_t >A Future, which either gets readied to actual amount of data provided in the Span (for a positive response message) or readied with UDS ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in response_data will be placed after 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_01513
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01513@rel:R25-11#4f41a0ce
Content hash
4f41a0ce
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01513
Status: valid/unmigrated Version: rel:R25-11#63972da5 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_01513@rel:R25-11#63972da5
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1d9ca4162026-09-30
  • R22-11rel:R22-11#75393c2a2026-10-14
  • R23-11rel:R23-11#ca5dc2382026-10-14
  • R24-11rel:R24-11#8cc6dd042026-10-14
  • R25-11rel:R25-11#63972da52026-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_01511] Upstream: RS_Diag_04135

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

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadByPullHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01511
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01511@rel:R25-11#e8ff2ac8
Content hash
e8ff2ac8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01511
Status: valid/unmigrated Version: rel:R25-11#b782b337 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_01511@rel:R25-11#b782b337
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c6a866242026-09-30
  • R22-11rel:R22-11#4b9d42d12026-10-14
  • R23-11rel:R23-11#44c930122026-10-14
  • R24-11rel:R24-11#5df4ff4d2026-10-14
  • R25-11rel:R25-11#b782b3372026-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_01512] Upstream: RS_Diag_04135

auto operator= (DataTransferReadByPullHandler const &) -> DataTransfer ReadByPullHandler &=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::DataTransferReadByPullHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01512
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01512@rel:R25-11#fe80b273
Content hash
fe80b273
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01512
Status: valid/unmigrated Version: rel:R25-11#c19a0a89 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_01512@rel:R25-11#c19a0a89
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9cf22d9e2026-09-30
  • R22-11rel:R22-11#8bde9da32026-10-14
  • R23-11rel:R23-11#e27d97752026-10-14
  • R24-11rel:R24-11#fef1656d2026-10-14
  • R25-11rel:R25-11#c19a0a892026-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

دالة ~DataTransferReadByPullHandler [SWS_DM_01510] Upstream: RS_Diag_04135

virtual ~DataTransferReadByPullHandler () 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::DataTransferReadByPullHandler
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01510
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01510@rel:R25-11#85eee575
Content hash
85eee575
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01510
Status: valid/unmigrated Version: rel:R25-11#b0161e65 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_01510@rel:R25-11#b0161e65
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#aa3b8d842026-09-30
  • R22-11rel:R22-11#66de4fbf2026-10-14
  • R23-11rel:R23-11#ac8a6a602026-10-14
  • R24-11rel:R24-11#6759ad7c2026-10-14
  • R25-11rel:R25-11#b0161e652026-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