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]। अंतर्निहित ट्रांसफ़र पैटर्न पुश-सिद्धांत पर आधारित है: फ़ाइल या डायरेक्टरी डेटा को विशिष्ट ऐप्लिकेशन कार्यान्वयन द्वारा सक्रिय रूप से पैकेटबद्ध किया जाता है और डायग्नोस्टिक प्रबंधन (Diagnostic Management, DM) को सौंपा जाता है AUTOSAR_AP_SWS_Diagnostics §8.10.3 “Class: DataTransferReadByPushHandler”। यह परस्पर क्रिया बाहरी UDS क्लाइंट, प्लेटफ़ॉर्म घटक ara::diag और ऐप्लिकेशन के ठोस हैंडलर कार्यान्वयन के बीच होती है।
चूंकि 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 के माध्यम से पास किए जाते हैं। इस पैरामीटर स्पैन का लाइफ़टाइम बाध्यकारी रूप से इससे जुड़ा होता है जब तक कि संबंधित प्रॉमिस पूरा न हो जाए या प्रोसेसिंग रद्द न हो जाए [SWS_DM_01523]। Future के माध्यम से अंतिम प्रतिक्रिया पैरामीटर सेट वापस किए जाने के बाद, ट्रांसफ़र को पूर्ण माना जाता है, जिससे हैंडलर ऑब्जेक्ट के सुरक्षित विनाश की शर्त पूरी हो जाती है [SWS_DM_01519]।
अनुक्रम आरेख: रीड ट्रांसफ़र और ट्रांसफ़र समाप्ति पर Diagnostic Management और हैंडलर के बीच विशिष्ट इंटरैक्शन क्रम। स्रोत: [SWS_DM_01522], [SWS_DM_01523], [SWS_DM_01519]
त्रुटि परिदृश्य
यदि डेटा ब्लॉक्स के संकलन के दौरान या सत्र समाप्ति पर कोई त्रुटि होती है, तो इसे संबंधित ara::core::Future के माध्यम से एसिंक्रोनस रूप से रिपोर्ट किया जाता है। सकारात्मक प्रतिक्रिया संरचना के स्थान पर, फ़्यूचर को DiagUdsNrcErrc श्रेणी से एक त्रुटि कोड (ara::core::ErrorCode) के साथ प्रदान किया जाता है, जो ISO 14229-1 के अनुसार उपयुक्त नकारात्मक प्रतिक्रिया पहचानकर्ता (Negative Response Code, NRC) से मेल खाता है [SWS_DM_01522], [SWS_DM_01523]।
यदि डायग्नोस्टिक संवाद टूट जाता है या क्लाइंट निरस्तीकरण अनुरोध भेजता है, तो पास किया गया CancellationHandler प्रभावी होता है। कार्यान्वयन cancellation_handler.IsCanceled() के माध्यम से वर्तमान निरस्तीकरण स्थिति को क्वेरी कर सकता है या cancellation_handler.SetNotifier() के माध्यम से एक कॉलबैक फ़ंक्शन पंजीकृत कर सकता है, जो वार्तालाप रद्द होने पर ट्रिगर होता है [SWS_DM_01522], [SWS_DM_01523]। प्रॉमिस की पूर्ति या निरस्तीकरण साथ ही ExitRead() में पैरामीटर सेट की वैधता की समाप्ति को भी चिह्नित करता है [SWS_DM_01523]।
यह मार्गदर्शिका AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देश पर आधारित है।
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 · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 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() के माध्यम से रद्दीकरण स्थिति की जाँच करने या SetNotifier() के माध्यम से एक कॉलबैक फ़ंक्शन पंजीकृत करने के लिए उपयोग किया जाता है [SWS_DM_01523]।
त्रुटि प्रबंधन और रिटर्न मान
सफलता की स्थिति में Future आउटपुट डेटा प्रदान करता है, जिसे SID के बाद सकारात्मक UDS प्रतिक्रिया में transferResponseParameterRecord के रूप में रखा जाता है [SWS_DM_01523]। विफलता के मामले में Future को ISO 14229-1 के अनुसार DiagUdsNrcErrc से उपयुक्त नेगेटिव रिस्पॉन्स कोड (NRC) के साथ पूरा किया जाता है [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 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
This parameter record contains parameter(s), which are required
parameter_record
by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
meta_info
MetaInfo of the request.
cancellation_handler
This 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.
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
Fehlercode
Beschreibung
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.
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 · जर्मन मूल
क्लास ara::diag::DataTransferReadByPushHandler का विशुद्ध वर्चुअल मेथड Read एप्लिकेशन से फ़ाइल या निर्देशिका जानकारी के लिए डेटा ब्लॉक्स के एसिंक्रोनस पठन हेतु उपयोग किया जाता है [SWS_DM_01522]। एप्लिकेशन संबंधित डेटा चंक को संकलित करता है और इसका स्वामित्व ara::core::Vector<ara::core::Byte> के रूप में डायग्नोस्टिक मॉड्यूल को सौंपता है।
उपयोग और कॉल संदर्भ
कॉल डायग्नोस्टिक सर्वर द्वारा हेडर फ़ाइल ara/diag/data_transfer.h[SWS_DM_01522] के माध्यम से UDS क्लाइंट्स के लिए प्रतिक्रिया डेटा प्रदान करने हेतु की जाती है। मेथड तीन पैरामीटर्स की अपेक्षा करता है:
recommended_number_bytes_to_return: इष्टतम थ्रूपुट के लिए बाइट्स की अनुशंसित संख्या। यह मान संभवतः Diagnostic Management के आंतरिक बफ़र या PDU आकार पर आधारित होने की संभावना है। प्रश्न 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 से एक त्रुटि कोड के साथ पूरा किया जाता है, जो ISO 14229-1 के अनुसार एक उपयुक्त NRC को मैप करता है [SWS_DM_01522]। यदि सेवा द्वारा इंटरफ़ेस अभी तक या अब offer() के माध्यम से पेश नहीं किया गया है, तो Diagnostic Manager अनुरोध का उत्तर NRC 0x94 (ResourceTemporarilyNotAvailable) के साथ देता है [SWS_DM_01257]। मेथड को अपवाद-सुरक्षित (exception safe), लेकिन गैर-थ्रेड-सुरक्षित (not thread-safe) के रूप में निर्दिष्ट किया गया है [SWS_DM_01522], इसलिए समवर्ती कॉल्स को एप्लिकेशन पक्ष पर सिंक्रोनाइज़ किया जाना चाहिए।
इंटरैक्शन
इस इंटरफ़ेस का पुश सिद्धांत डायग्नोस्टिक मॉड्यूल के वैकल्पिक पठन तंत्रों को पूरक बनाता है: पूर्वनिर्धारित मेमोरी क्षेत्र के साथ ara::diag::DataTransferReadByPullHandler::Read[SWS_DM_01513] के माध्यम से पुल विधि और साथ ही ReleaseHandler[SWS_DM_01504] का उपयोग करके साझा मेमोरी क्षेत्र का प्रावधान।
The recommended number of bytes to send back to DM in order to
bytes_to_return
get optimum data throughput.
meta_info
MetaInfo of the request.
cancellation_handler
This 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.
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
Fehlercode
Beschreibung
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.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल