DEENESPTFRRUARHIKOZHNL

فئة ara::diag::DataTransferReadByPushHandler

[SWS_DM_01515] Upstream: RS_Diag_04135

class DataTransferReadByPushHandler {...};

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

Header-Datei#include "ara/diag/data_transfer.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

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

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

يُمكّن التطبيقات من التوفير النشط لمحتويات الملفات والدلائل عند تلقي طلبات قراءة UDS.

تُستخدم الفئة ara::diag::DataTransferReadByPushHandler كواجهة أساسية لعمليات نقل قراءة UDS، حيث يقوم التطبيق بتجميع محتويات الملفات وتوفيرها بنشاط [SWS_DM_01515]. يتم تمرير كتل البيانات بالتتابع عبر Read()، ثم تُختتم جلسة النقل بعد ذلك بصورة منظمة عبر ExitRead() [SWS_DM_01523]. يرتبط كل معالج بجلسة نقل واحدة تحديداً وبشكل صارم، ولهذا السبب تم حظر عمليات النسخ. وبوصفه شرطاً جوهرياً لدورة الحياة، لا يجوز بأي حال من الأحوال تدمير المثيل قبل استدعاء ExitRead() [SWS_DM_01519].

السياق

تعمل الفئة ara::diag::DataTransferReadByPushHandler كفئة أساسية وواجهة لعمليات نقل بيانات التشخيص التي بدأت بطلبات مثل RequestReadFile أو RequestReadDirectory [SWS_DM_01515]. يعتمد نمط النقل الأساسي على مبدأ الدفع (Push): حيث يقوم تنفيذ التطبيق المحدد بتجميع بيانات الملفات أو الدلائل بنشاط وتمريرها إلى Diagnostic Management (DM) AUTOSAR_AP_SWS_Diagnostics §8.10.3 «Class: DataTransferReadByPushHandler». ويتم التفاعل بين عميل UDS الخارجي، ومكون المنصة ara::diag، وتنفيذ المعالج الفعلي للتطبيق.

client UDS-Client dm ara::diag (DM) client->dm UDS RequestReadFile / TransferData dm->client UDS Response handler DataTransferReadByPushHandler dm->handler Read() / ExitRead() handler->dm Future<Vector<Byte>>

مخطط السياق: تموضع معالج الدفع (Push Handler) بين عميل UDS الخارجي وDiagnostic Management. المصادر: [SWS_DM_01515]، AUTOSAR_AP_SWS_Diagnostics §8.10.3 «Class: DataTransferReadByPushHandler»

دورة الحياة

نظراً لتصميم DataTransferReadByPushHandler كفئة أساسية مجردة، فإن المنشئ الخالي من المعلمات يقع ضمن نطاق رؤية محمي (protected) [SWS_DM_01516]. ويتم إنشاء المثيل في سياق فئة مشتقة داخل التطبيق. ترتبط المثيلات بجلسة نقل ملفات واحدة تحديداً بشكل صارم («one way usage»)؛ ونتيجة لذلك، تم حذف منشئ النسخ [SWS_DM_01518] وكذلك عامل تخصيص النسخ [SWS_DM_01521] صراحةً (=delete). يمكن نقل الملكية عبر عمليات النقل، نظراً لأن منشئ النقل [SWS_DM_01517] وتخصيص النقل [SWS_DM_01520] يتوفران كتنفيذات قياسية وتم التصريح عنهما كآمنين من الاستثناءات (noexcept).

لتدمير المعالج، تحدد المواصفة شرطاً مسبقاً صارماً: لا يجوز بأي حال من الأحوال تدمير مثيل قبل إنهاء الجلسة عبر استدعاء ExitRead() [SWS_DM_01519]، AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.1.2 «Destructor». وفيما يتعلق بالتزامن، تم تحديد الدوال الافتراضية للفئة على أنها غير آمنة خيطياً («not thread-safe») [SWS_DM_01522]، [SWS_DM_01523]، ولهذا السبب يجب مزامنة عمليات الوصول المتزامنة بواسطة المنصة أو تنفيذها بالتتابع.

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

ينقسم التسلسل التشغيلي إلى التوفير المتكرر لأجزاء البيانات والإنهاء المنظم للجلسة. بعد بدء عملية القراءة، يستدعي ara::diag الدالة Read() بشكل متكرر [SWS_DM_01522]، AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.3.2 «Read». وفي هذا السياق، يمرر إطار العمل قيمة إرشادية للحجم الموصى به للإرجاع بالبايت (recommended_number_bytes_to_return) لتحقيق أفضل معدل نقل، بالإضافة إلى سياق الطلب (MetaInfo) وCancellationHandler. يُنشئ التطبيق حزمة البيانات وينقل ملكيتها عبر ara::core::Future<ara::core::Vector<ara::core::Byte>> إلى Diagnostic Management، والتي تدرج البيانات المفيدة بعد عداد تسلسل الكتل في رسالة استجابة UDS [SWS_DM_01522].

بمجرد نقل جميع كتل البيانات أو عند الحاجة إلى إنهاء الجلسة، يستدعي ara::diag الدالة ExitRead() [SWS_DM_01523]، AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.3.1 «ExitRead». بالإضافة إلى سبب الإنهاء (DataTransferExitType exit_type)، يتم تمرير معلمات الطلب الخاصة بالشركة المصنعة عبر transfer_request_parameter_record. يرتبط العمر الافتراضي لهذا الـ Span الخاص بالمعلمات ارتباطاً ملزماً حتى يتم الوفاء بالـ Promise المقابل أو إلغاء المعالجة [SWS_DM_01523]. بعد إرجاع مجموعة معلمات الاستجابة النهائية عبر Future، يُعتبر النقل منتهياً، وبذلك يتحقق شرط التدمير الآمن لكائن المعالج [SWS_DM_01519].

سير عملية نقل قراءة قائم على الدفع (Push)ara::diag (DM)DataTransferReadByPushHandlerUse Case: نقل البيانات (حلقة القراءة)Read(recommended_bytes, meta_info, cancel_handler)Datenchunk erzeugenFuture<Vector<Byte>> bereitstellenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancel_handler)Sitzungsressourcen freigebenFuture<Vector<Byte>> bereitstellen

مخطط التسلسل: تسلسل التفاعل النموذجي بين Diagnostic Management والمعالج أثناء نقل القراءة وإنهاء النقل. المصادر: [SWS_DM_01522]، [SWS_DM_01523]، [SWS_DM_01519]

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

في حال حدوث خطأ أثناء تجميع كتل البيانات أو عند إنهاء الجلسة، يُبلغ عنه بشكل غير متزامن عبر ara::core::Future المعني. وبدلاً من بنية الاستجابة الإيجابية، يتم توفير الـ Future مصحوباً برمز خطأ (ara::core::ErrorCode) من النطاق DiagUdsNrcErrc، والذي يتوافق مع رمز استجابة سلبية مناسب (Negative Response Code, NRC) وفقاً للمعيار ISO 14229-1 [SWS_DM_01522]، [SWS_DM_01523].

إذا انقطع حوار التشخيص أو أرسل العميل طلب إلغاء، يدخل CancellationHandler الممرر حيز التنفيذ. يمكن للتنفيذ الاستعلام عن حالة الإلغاء الحالية عبر cancellation_handler.IsCanceled() أو تسجيل دالة رد نداء عبر cancellation_handler.SetNotifier() يتم إطلاقها عند إلغاء المحادثة [SWS_DM_01522]، [SWS_DM_01523]. ويمثل الوفاء بالـ Promise أو إلغاؤه في الوقت نفسه نهاية صلاحية مجموعة المعلمات في ExitRead() [SWS_DM_01523].

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

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

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

2

المعاملات

1

مخطط الفئة

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

G nara__diag__DataTransferReadByPushHandler95 DataTransferReadByPushHandler + DataTransferReadByPushHandler() + ~DataTransferReadByPushHandler() + ExitRead() + Read() + operator=()

عرض التفاصيل

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

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

Constructs an instance of this class.

التحميلات الزائدة DataTransferReadByPushHandler 3
DataTransferReadByPushHandler () noexcept=default; SWS_DM_01516
DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default; SWS_DM_01517
DataTransferReadByPushHandler (DataTransferReadByPushHandler const &)=delete; SWS_DM_01518

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

virtual ~DataTransferReadByPushHandler () 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 its ownership is passed as a result to ara::diag.

virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

المعاملات

operator= دالة 2

Move assigns an instance of this class.

التحميلات الزائدة = 2
auto operator= (DataTransferReadByPushHandler &&other) & noexcept -> DataTransferReadByPushHandler & =default; SWS_DM_01520
auto operator= (DataTransferReadByPushHandler const &) -> DataTransfer ReadByPushHandler &=delete; SWS_DM_01521

توثيق الدوال

دالة DataTransferReadByPushHandler [SWS_DM_01516] Upstream: RS_Diag_04135

DataTransferReadByPushHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01516
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01516@rel:R25-11#e7550f3d
Content hash
e7550f3d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01516
Status: valid/unmigrated Version: rel:R25-11#49a6743f 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_01516@rel:R25-11#49a6743f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9f5e769b2026-09-30
  • R22-11rel:R22-11#d8dde2912026-10-14
  • R23-11rel:R23-11#98b8947b2026-10-14
  • R24-11rel:R24-11#a73be3ff2026-10-14
  • R25-11rel:R25-11#49a6743f2026-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

دالة DataTransferReadByPushHandler [SWS_DM_01517] Upstream: RS_Diag_04135

DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
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_01517
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01517@rel:R25-11#c8abd1e4
Content hash
c8abd1e4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01517
Status: valid/unmigrated Version: rel:R25-11#7e951d87 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_01517@rel:R25-11#7e951d87
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#cf1ac9f92026-09-30
  • R22-11rel:R22-11#f70fc75f2026-10-14
  • R23-11rel:R23-11#0fe43a672026-10-14
  • R24-11rel:R24-11#b4cb6e672026-10-14
  • R25-11rel:R25-11#7e951d872026-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

دالة DataTransferReadByPushHandler [SWS_DM_01518] Upstream: RS_Diag_04135

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

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

Record
AUTOSAR/AP/record/SWS_DM_01518
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01518@rel:R25-11#b7866f67
Content hash
b7866f67
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01518
Status: valid/unmigrated Version: rel:R25-11#a724748f 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_01518@rel:R25-11#a724748f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#90c604c32026-09-30
  • R22-11rel:R22-11#9fb9734c2026-10-14
  • R23-11rel:R23-11#44c63dd52026-10-14
  • R24-11rel:R24-11#08b9bed72026-10-14
  • R25-11rel:R25-11#a724748f2026-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_01523] 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 · درجة الحرارة: غير قابل للتحكم · الموجّه: eefe02828ffe المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُنهي الطريقة الافتراضية ExitRead جلسة نقل بيانات جارية في سياق معالج التشخيص [SWS_DM_01523]. تعمل الدالة بشكل غير متزامن وتُرجع ara::core::Future يحتوي على بيانات الاستجابة كمتجه بايتات SWS Diagnostics §8.10.3.1.3.1 «ExitRead».

المعلمات وسياق الاستدعاء

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

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

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

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

الطريقة محددة بأنها آمنة من الاستثناءات (exception safe)، ولكنها صراحةً غير آمنة مؤشريًا (not thread-safe) [SWS_DM_01523]. فيما يتعلق بدورة حياة الكائن، يوجد شرط ترتيب ملزم: لا يجوز بأي حال من الأحوال تدمير مثيل من DataTransferReadByPushHandler قبل استدعاء ExitRead() [SWS_DM_01519]. تسري متطلبات مماثلة على فئات المعالجات ذات الصلة في نقل البيانات [SWS_DM_01510] [SWS_DM_01499].

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

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

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
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 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_01523
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01523@rel:R25-11#f7764734
Content hash
f7764734
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01523
Status: valid/unmigrated Version: rel:R25-11#028dde2a 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_01523@rel:R25-11#028dde2a
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#50d94e4c2026-09-30
  • R22-11rel:R22-11#2702570e2026-10-14
  • R23-11rel:R23-11#730065222026-10-14
  • R24-11rel:R24-11#ddf661402026-10-14
  • R25-11rel:R25-11#028dde2a2026-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_01522] Upstream: RS_Diag_04135

virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=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 its ownership is passed as a result to ara::diag.

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

تُستخدم الطريقة الافتراضية الصرفة Read للفئة ara::diag::DataTransferReadByPushHandler للقراءة غير المتزامنة لكتل البيانات الخاصة بمعلومات الملف أو الدليل من التطبيق [SWS_DM_01522]. يُجمّع التطبيق قطعة البيانات (Chunk) المعنية وينقل ملكيتها كـ ara::core::Vector<ara::core::Byte> إلى وحدة التشخيص.

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

يتم الاستدعاء بواسطة Diagnostic Server لتوفير بيانات الاستجابة لعملاء UDS عبر ملف الترويسة ara/diag/data_transfer.h [SWS_DM_01522]. تتوقع الطريقة ثلاث مَعلمات:

  • recommended_number_bytes_to_return: العدد الموصى به من البايتات لتحقيق إنتاجية مثالية. يُرجح أن تعتمد هذه القيمة على الحجم الداخلي للمخزن المؤقت أو حجم PDU في Diagnostic Management. سؤال Q-1a8c1270b192b96f (مفتوح)
  • meta_info: معلومات وصفية إضافية لطلب التشخيص الوارد (MetaInfo).
  • cancellation_handler: يتيح الاستعلام عن حالة الإلغاء عبر cancellation_handler.IsCanceled() أو تسجيل إشعار باستخدام cancellation_handler.SetNotifier() في حال انقطاع الاتصال.

يُستخدم ara::core::Future<ara::core::Vector<ara::core::Byte>> كقيمة معادة. عند المعالجة الناجحة، تُضمَّن البيانات كـ transferResponseParameterRecord خلف عداد التسلسل في رسالة الاستجابة الإيجابية [SWS_DM_01522].

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

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

تفاعل

يُكمّل مبدأ الدفع (Push) لهذه الواجهة آليات القراءة البديلة لوحدة التشخيص: أسلوب السحب (Pull) عبر ara::diag::DataTransferReadByPullHandler::Read [SWS_DM_01513] مع منطقة ذاكرة محددة مسبقًا، بالإضافة إلى توفير منطقة ذاكرة مشتركة باستخدام ReleaseHandler [SWS_DM_01504].

تم إنشاء هذا النص بواسطة الذكاء الاصطناعي.

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

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

Parameter (in)

ParameterBeschreibung
recommended_number_The recommended number of bytes to send back to DM in order to
bytes_to_returnget optimum data throughput.
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 ReadPushOutput (transfer ResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for a negative response message). Data in ReadPushOutput.responseData will be placed after block SequenceCounter 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_01522
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01522@rel:R25-11#dc5c987c
Content hash
dc5c987c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01522
Status: valid/unmigrated Version: rel:R25-11#e7e79431 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_01522@rel:R25-11#e7e79431
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#3e8fc1bb2026-09-30
  • R22-11rel:R22-11#3462fde32026-10-14
  • R23-11rel:R23-11#6dd9bce12026-10-14
  • R24-11rel:R24-11#cb10a5162026-10-14
  • R25-11rel:R25-11#e7e794312026-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_01520] Upstream: RS_Diag_04135

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

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadByPushHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01520
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01520@rel:R25-11#e5b0d0e2
Content hash
e5b0d0e2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01520
Status: valid/unmigrated Version: rel:R25-11#d4049469 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_01520@rel:R25-11#d4049469
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#2ce931892026-09-30
  • R22-11rel:R22-11#62287d5f2026-10-14
  • R23-11rel:R23-11#96e4f4012026-10-14
  • R24-11rel:R24-11#ae7f03fd2026-10-14
  • R25-11rel:R25-11#d40494692026-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_01521] Upstream: RS_Diag_04135

auto operator= (DataTransferReadByPushHandler const &) -> DataTransfer ReadByPushHandler &=delete;

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

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

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

Record
AUTOSAR/AP/record/SWS_DM_01521
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01521@rel:R25-11#946f1cf8
Content hash
946f1cf8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01521
Status: valid/unmigrated Version: rel:R25-11#18457d2d 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_01521@rel:R25-11#18457d2d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#434ea9332026-09-30
  • R22-11rel:R22-11#e3d9fab02026-10-14
  • R23-11rel:R23-11#95ae839d2026-10-14
  • R24-11rel:R24-11#18457d2d2026-10-14
  • R25-11rel:R25-11#18457d2d2026-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

دالة ~DataTransferReadByPushHandler [SWS_DM_01519] Upstream: RS_Diag_04135

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

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

Record
AUTOSAR/AP/record/SWS_DM_01519
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01519@rel:R25-11#74c81405
Content hash
74c81405
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01519
Status: valid/unmigrated Version: rel:R25-11#0df2ec41 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_01519@rel:R25-11#0df2ec41
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#745728c02026-09-30
  • R22-11rel:R22-11#adf1131d2026-10-14
  • R23-11rel:R23-11#565380862026-10-14
  • R24-11rel:R24-11#0fbf5f402026-10-14
  • R25-11rel:R25-11#0df2ec412026-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