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]) के माध्यम से फ़ाइल और डायरेक्टरी सामग्री के लिए रीड डायग्नोस्टिक डेटा ट्रांसफ़र को संभालने का कार्य करती है। सत्र प्रारंभ होने के बाद, ऐप्लिकेशन कार्यान्वयन Read() के माध्यम से पूरे डेटा को साझा डेटा व्यू के रूप में प्रदान करता है और ReleaseHandler द्वारा रिलीज़ अधिसूचना दिए जाने तक आवंटित बफ़र को बनाए रखता है ([SWS_DM_01504])। हैंडलर-विशिष्ट ऑब्जेक्ट को नष्ट करने से पहले, ट्रांसफ़र सत्र को ExitRead() के माध्यम से अनिवार्य रूप से समाप्त किया जाना चाहिए। ऑब्जेक्ट विशेष रूप से एक एकल ट्रांसफ़र सत्र के लिए अभिप्रेत है और इसलिए इसे स्थानांतरित (move) किया जा सकता है, लेकिन कॉपी नहीं किया जा सकता।

संदर्भ

क्लास ara::diag::DataTransferReadSharedDataHandler मॉड्यूल diag (AUTOSAR_AP_SWS_Diagnostics §8.10.5 “Class: DataTransferReadSharedDataHandler”) में AUTOSAR Adaptive Platform के डायग्नोस्टिक क्षेत्र से संबंधित है। इसका मुख्य कार्य फ़ाइल और डायरेक्टरी सामग्री के लिए डेटा ट्रांसफ़र को संभालना है, जो RequestReadFile या RequestReadDirectory जैसे UDS अनुरोधों द्वारा शुरू किए जाते हैं ([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])।

उपयोग पथ

साझा मेमोरी क्षेत्रों के साथ डेटा ट्रांसफ़र के विशिष्ट कॉल क्रम में कई चरण शामिल होते हैं:

  • साझा डेटा का प्रावधान: 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])। ऐप्लिकेशन इसके लिए 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) के अतिरिक्त, वाहन निर्माता-विशिष्ट अनुरोध पैरामीटर्स पास किए जाते हैं, जिनका लाइफ़टाइम परिणाम प्रॉमिस पूरा होने तक गारंटीकृत होता है ([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 erstellenशेयर्ड डेटा व्यू के साथ Future<Span<Byte>>Use Case: Speicherfreigabeनोटिफ़ायर को कॉल करें या स्थिति सेट करें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]

त्रुटि परिदृश्य

यदि डेटा प्रदान करने में या ट्रांसफ़र समाप्त करने में त्रुटियां होती हैं, तो इन्हें ISO 14229-1 के अनुसार डोमेन DiagUdsNrcErrc से ara::core::ErrorCode के साथ संबंधित ara::core::Future के माध्यम से रिपोर्ट किया जाता है ([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 रिलीज़ R25-11 के विनिर्देश पर आधारित है।

सदस्य मानचित्र

कंस्ट्रक्टर और डिस्ट्रक्टर

2

मेथड

2

ऑपरेटर

1

क्लास आरेख

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

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

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

कंस्ट्रक्टर और डिस्ट्रक्टर

DataTransferReadSharedDataHandler फ़ंक्शन 3

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#7d51193e
Content hash
7d51193e
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#890ebe45
Content hash
890ebe45
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#29a6436e
Content hash
29a6436e
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 · जर्मन मूल

क्लास ara::diag::DataTransferReadSharedDataHandler ([SWS_DM_01505]; हेडर ara/diag/data_transfer.h) का इंटरफ़ेस ExitRead चल रहे डेटा ट्रांसफर सत्र को समाप्त करता है।

उपयोग और पैरामीटर

कॉल एसिंक्रोनस रूप से होता है और एक 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 से एक त्रुटि कोड (ISO 14229-1 के अनुसार उपयुक्त NRC) के साथ पूरा किया जाता है [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]) के लिए समान टर्मिनेशन फ़ंक्शन्स और डिस्ट्रक्टर आवश्यकताएँ मौजूद हैं।

यह उपयोग नोट एक AI द्वारा बनाया गया था और यह 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#8ee3d849
Content hash
8ee3d849
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 · जर्मन मूल

इंटरफ़ेस ara::diag::DataTransferReadSharedDataHandler का मेथड Read साझा मेमोरी दृश्य ([SWS_DM_01504]) के माध्यम से UDS क्लाइंट के लिए पढ़े जाने वाले फ़ाइल या निर्देशिका डेटा प्रदान करता है। कॉल एसिंक्रोनस रूप से होती है और ara::core::Span<ara::core::Byte> के साथ एक ara::core::Future लौटाती है ([SWS_DM_01504])।

उपयोग और जीवनचक्र

कार्यान्वयन करने वाला एप्लिकेशन संपूर्ण सामग्री को स्वयं आवंटित करता है और दृश्य को AraDiag को सौंपता है। अंतर्निहित मेमोरी क्षेत्र को तब तक अनिवार्य रूप से अपरिवर्तित रखा जाना चाहिए जब तक कि पास किए गए ReleaseHandler के माध्यम से इसके नोटिफ़ायर द्वारा रिलीज़ का संकेत न दिया गया हो या स्थिति जाँच द्वारा क्वेरी न की गई हो ([SWS_DM_01504])। ReleaseHandler को MetaInfo के आधार पर समान UDS क्लाइंट के लिए संग्रहीत किया जाना है ([SWS_DM_01504])। CancellationHandler के माध्यम से IsCanceled() द्वारा चल रहे स्थानांतरण की निगरानी की जा सकती है या SetNotifier() के माध्यम से एक रद्दीकरण नोटिफ़ायर पंजीकृत किया जा सकता है ([SWS_DM_01504])।

त्रुटि हैंडलिंग और समवर्तीता

सफलता की स्थिति में डेटा को blockSequenceCounter के बाद transferResponseParameterRecord के रूप में भेजा जाता है ([SWS_DM_01504])। यदि पठन विफल हो जाता है, तो Future को ISO 14229-1 के अनुसार DiagUdsNrcErrc से उपयुक्त त्रुटि कोड के साथ पूरा किया जाना चाहिए ([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#40c33c34
Content hash
40c33c34
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#78e8175d
Content hash
78e8175d
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#f98421d7
Content hash
f98421d7
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#2a2b5db0
Content hash
2a2b5db0
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