डायनामिक एक्सेस सूचियों में डायग्नोस्टिक सर्विस पैटर्न के लिए एक बंद बाइट-वैल्यू अंतराल को परिभाषित करता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 772c8ed103ebउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
डायनामिक एक्सेस सूचियों में डायग्नोस्टिक सर्विस पैटर्न के लिए एक बंद बाइट-वैल्यू अंतराल को परिभाषित करता है।
क्लास ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange डायनामिक एक्सेस सूचियों [SWS_DM_01182] में डायग्नोस्टिक सर्विस पैटर्न की परिभाषा के लिए एक बंद बाइट-वैल्यू अंतराल का प्रतिनिधित्व करती है। एप्लिकेशन न्यूनतम और अधिकतम मानों के साथ इन वैल्यू ऑब्जेक्ट्स को बनाते हैं और सर्विस पैटर्न [SWS_DM_01183] के चरण-दर-चरण कॉन्फ़िगरेशन के लिए उन्हें बिल्डर को पास करते हैं। इसके अतिरिक्त, निर्धारित अंतराल सीमाओं को किसी भी समय इंस्पेक्टरों के माध्यम से पढ़ा जा सकता है। सभी सदस्य फ़ंक्शन अपवाद-सुरक्षित रूप से noexcept के रूप में घोषित किए गए हैं, जबकि समवर्ती एक्सेस के दौरान संशोधक असाइनमेंट ऑपरेटरों को अलग सिंक्रनाइज़ेशन की आवश्यकता होती है।
संदर्भ
क्लास ara::diag::DynamicAccessListDiagServiceBuilder::ByteRange एक डायग्नोस्टिक सर्विस पैटर्न [SWS_DM_01182] के भीतर एक बंद बाइट-वैल्यू अंतराल का प्रतिनिधित्व करती है। गतिशील एक्सेस प्रबंधन (DynamicAccessList) के ढांचे में, यह डायग्नोस्टिक अनुरोधों के लिए अलग-अलग बाइट्स के मानदंडों और मान सीमाओं को सटीक रूप से परिभाषित करने के लिए एक प्राथमिक बिल्डिंग ब्लॉक के रूप में कार्य करती है AUTOSAR_AP_SWS_Diagnostics §8.15.2 “Class: ByteRange”।
एक नेस्टेड वैल्यू प्रकार के रूप में, ByteRange पैरेंट DynamicAccessListDiagServiceBuilder के साथ सीधे सहयोग में कार्य करता है। जबकि डायग्नोस्टिक एप्लिकेशन विशिष्ट थ्रेशोल्ड मानों के साथ इंस्टेंस बनाते हैं, बिल्डर डायग्नोस्टिक सेवाओं के लिए अनुक्रमिक बाइट पैटर्न अनुक्रमों का निर्माण करने हेतु Add[SWS_DM_01177] या EndsWith[SWS_DM_01180] जैसे मेथडों के माध्यम से इन ऑब्जेक्ट्स का उपभोग करता है। इसके अतिरिक्त, क्लास GetMin[SWS_DM_01189] और GetMax[SWS_DM_01190] के माध्यम से कॉन्फ़िगर की गई सीमाओं को पढ़ने में सक्षम बनाती है।
जीवनचक्र
ByteRange के इंस्टेंस नियमित रूप से पैरामीटरयुक्त कंस्ट्रक्टर के माध्यम से बनाए जाते हैं, जो न्यूनतम (min) और अधिकतम मान (max) को एक बंद मान अंतराल के रूप में स्वीकार करता है [SWS_DM_01183]। चूँकि यह गतिशील संसाधन बाइंडिंग के बिना एक स्टेटलेस वैल्यू ऑब्जेक्ट है, इसलिए कोई जटिल आंतरिक परिचालन चरण मौजूद नहीं हैं।
यह क्लास मानक-अनुरूप वैल्यू सेमेंटिक्स को लागू करती है: यह एक कॉपी कंस्ट्रक्टर [SWS_DM_01184] और एक मूव कंस्ट्रक्टर [SWS_DM_01185] दोनों प्रदान करती है, जिसके माध्यम से प्रतियों को प्रतिलिपि बनाकर या स्थानांतरित करके बिना किसी समस्या के बिल्डर मेथडों को पास किया जा सकता है। इसके अनुरूप, कॉपी असाइनमेंट ऑपरेटर [SWS_DM_01186] और मूव असाइनमेंट ऑपरेटर [SWS_DM_01187] उपलब्ध हैं। जीवनचक्र डिस्ट्रक्टर [SWS_DM_01188] के साथ समाप्त होता है।
समवर्तीता के संबंध में, AUTOSAR विभेदित आवश्यकताओं को निर्दिष्ट करता है: कंस्ट्रक्टर और पढ़ने वाले ऑपरेशन थ्रेड-सुरक्षित के रूप में वर्गीकृत किए गए हैं, जबकि असाइनमेंट ऑपरेटर operator= ([SWS_DM_01186], [SWS_DM_01187]) और डिस्ट्रक्टर [SWS_DM_01188] स्पष्ट रूप से थ्रेड-सुरक्षित नहीं हैं। इसलिए एक ही इंस्टेंस पर संशोधन करने वाले ऑपरेशनों के लिए कॉलर स्तर पर सिंक्रनाइज़ेशन उपायों की आवश्यकता होती है।
उपयोग पथ
ByteRange का विशिष्ट उपयोग बिल्डर के माध्यम से सर्विस पैटर्न के अनुक्रमिक कॉन्फ़िगरेशन के हिस्से के रूप में होता है:
एप्लिकेशन सीमाओं min और max को निर्दिष्ट करते हुए एक ByteRange ऑब्जेक्ट बनाता है [SWS_DM_01183]।
वर्तमान स्थिति में पैटर्न का विस्तार करने के लिए अंतराल को DynamicAccessListDiagServiceBuilder::Add में पास किया जाता है [SWS_DM_01177]।
EndsWith के साथ, एक अंतिम अंतराल परिभाषित किया जा सकता है जो पैटर्न का समापन बनाता है [SWS_DM_01180]।
यदि आवश्यक हो, तो एप्लिकेशन सत्यापन के लिए GetMin[SWS_DM_01189] और GetMax[SWS_DM_01190] के माध्यम से सीमा मान पढ़ता है।
अनुक्रम आरेख: ByteRange के साथ एक डायग्नोस्टिक पैटर्न को परिभाषित करते समय विशिष्ट इंटरैक्शन। स्रोत: [SWS_DM_01183], [SWS_DM_01177], [SWS_DM_01180], [SWS_DM_01189], [SWS_DM_01190]।
त्रुटि परिदृश्य
क्लास के सभी सदस्य फ़ंक्शन noexcept के साथ घोषित किए गए हैं और इस प्रकार पूरी तरह से अपवाद-सुरक्षित हैं (exception safe) [SWS_DM_01183]। न तो कंस्ट्रक्शन, न ही असाइनमेंट या क्वेरी C++ अपवाद फेंकते हैं।
संभावित त्रुटि स्थितियाँ मुख्य रूप से तार्किक पैरामीटरीकरण त्रुटियों से संबंधित हैं: यदि कोई एप्लिकेशन एक न्यूनतम मान min पास करता है जो अधिकतम मान max से बड़ा है, तो विनिर्देश कोई स्पष्ट त्रुटि व्यवहार परिभाषित नहीं करता है (व्याख्या: ऐसा अमान्य मान युग्म संभवतः बिल्डर में बाद के पैटर्न प्रसंस्करण के दौरान ही अस्वीकार किया जाना चाहिए या एक खाली मिलान पैटर्न की ओर ले जाना चाहिए)। प्रश्न Q-ea9c65d175d48946 (खुला) एक अन्य त्रुटि जोखिम operator= के माध्यम से असुरक्षित असाइनमेंट में निहित है जब कई थ्रेड एक ही ऑब्जेक्ट को समवर्ती रूप से एक्सेस करते हैं, क्योंकि असाइनमेंट थ्रेड-सुरक्षित नहीं होते हैं [SWS_DM_01186]।
यह क्लास गाइड मॉड्यूल diag के लिए AUTOSAR Adaptive विनिर्देश R25-11 पर आधारित है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल