Raw-Data-Stream-मॉड्यूल में IEEE-1722-डेटाग्राम के लिए सामान्य AVTPDU हेडर फ़ील्ड्स को परिभाषित करता है।
संदर्भ
AUTOSAR Adaptive Platform में, Raw Data Stream (RDS) मॉड्यूल असंरचित डेटा धाराओं और मानकीकृत स्ट्रीमिंग प्रोटोकॉल के कुशल आदान-प्रदान के लिए तंत्र प्रदान करता है। वर्ग ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields इस मॉड्यूल के भीतर IEEE 1722 के अनुसार Audio/Video Transport Protocol Data Units (AVTPDUs) के सामान्य हेडर फ़ील्ड्स (Common Header Fields) के मूलभूत प्रतिनिधित्व के रूप में कार्य करता है, जैसा कि SWS RawDataStream §1 “IEEE 1722 Datagram” में निर्दिष्ट है।
संरचना आवश्यक प्रोटोकॉल फ़ील्ड्स को समाहित करती है जो IEEE-1722 मानक में AVTPDU डेटाग्राम के लिए परिभाषित हैं। इसमें प्रकार std::uint8_t ([SWS_RDS_90232]) की विशेषता version शामिल है, जो AVTP मानक के प्रोटोकॉल संस्करण को मैप करती है। इसके अतिरिक्त, प्रकार std::uint16_t ([SWS_RDS_90230]) का डेटा फ़ील्ड avtpStreamDataSubtype AVTP स्ट्रीमिंग पेलोड के उपप्रकार को संग्रहीत करता है, ताकि ले जाए जा रहे डेटा स्ट्रीम के विशिष्ट प्रारूप की पहचान की जा सके। इसके अलावा, तत्व headerSpecific std::uint8_t ([SWS_RDS_90231]) के रूप में AVTPDU हेडर के प्रोटोकॉल- और प्रारूप-विशिष्ट नियंत्रण बिट्स और फ़्लैग्स को संग्रहीत करता है।
वर्ग के सभी उपयोगी डेटा फ़ील्ड्स एक्सेस संशोधक protected के तहत घोषित किए गए हैं। इससे यह निष्कर्ष (Interpretation) निकलता है कि ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields को मुख्य रूप से RDS-मॉड्यूल के भीतर विशिष्ट IEEE-1722 डेटाग्राम वर्गों के लिए एक मूलभूत बेस क्लास के रूप में डिज़ाइन किया गया प्रतीत होता है, बजाय इसके कि उपयोगकर्ताओं द्वारा इसे सीधे एक स्वतंत्र मान ऑब्जेक्ट के रूप में इंस्टैंशिएट किया जाए। प्रश्न Q-674fc96343869829 (खुला)
जीवनचक्र
ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields का जीवनचक्र मूलभूत हेडर संरचना के रूप में इसकी भूमिका पर आधारित है। इंस्टैंशिएशन एक कंक्रीट स्पेशलाइजेशन के संयोजन में होता है, जो इस बेस क्लास से इनहेरिट करता है। संरक्षित विशेषताओं version ([SWS_RDS_90232]), avtpStreamDataSubtype ([SWS_RDS_90230]) और headerSpecific ([SWS_RDS_90231]) का असाइनमेंट और इनिशियलाइज़ेशन आमतौर पर व्युत्पन्न वर्ग के कंस्ट्रक्टर में किया जाता है।
इंस्टेंस को नष्ट करने के लिए विनिर्देश स्पष्ट रूप से एक वर्चुअल डिस्ट्रक्टर प्रदान करता है: ~IEEE1722DatagramAVTPDUCommonHeaderFields() noexcept ([SWS_RDS_90233])। इस वर्चुअल डिस्ट्रक्टर की उपस्थिति यह सुनिश्चित करती है कि व्युत्पन्न डेटाग्राम ऑब्जेक्ट्स को बेस क्लास के पॉइंटर्स या संदर्भों के माध्यम से बिना किसी अपरिभाषित व्यवहार या संसाधन लीक के सुरक्षित रूप से बहुरूपी रूप से नष्ट किया जा सकता है। विनिर्देशक noexcept द्वारा यह संविदात्मक रूप से सुनिश्चित किया जाता है कि विनाश प्रक्रिया के दौरान कोई अपवाद उत्पन्न नहीं हो सकता।
स्वामित्व और मेमोरी प्रबंधन के संबंध में, वर्ग RDS-मॉड्यूल में डेटा ट्रांसफर ऑब्जेक्ट्स के सामान्य सम्मेलनों के अधीन है: इंस्टेंस आमतौर पर या तो किसी प्रोसेसिंग फ़ंक्शन के स्टैक पर रखे जाते हैं या उच्च-स्तरीय डेटा बफ़र्स और स्ट्रीम हैंडलर्स द्वारा प्रबंधित किए जाते हैं। समवर्तीता के संदर्भ में, डेटा संरचना कोई आंतरिक सिंक्रनाइज़ेशन तंत्र प्रदान नहीं करती है। Interpretation: इसलिए एक ही इंस्टेंस को कई थ्रेड्स द्वारा एक साथ एक्सेस किए जाने पर संभवतः कॉलिंग ऐप्लिकेशन या आसपास के रनटाइम सिस्टम द्वारा बाहरी सिंक्रनाइज़ेशन की आवश्यकता होती है। प्रश्न (खुला)
उपयोग पथ
विशिष्ट उपयोग पथ स्ट्रीमिंग कनेक्शन के ढांचे में डेटाग्राम के निर्माण, पॉप्युलेशन और मूल्यांकन में विभाजित है। चूंकि फ़ील्ड्स संरक्षित हैं, इसलिए डेवलपर्स विशिष्ट सबक्लासेस के माध्यम से बेस फ़ील्ड्स तक पहुँचते हैं।
IEEE-1722 डेटा स्ट्रीम भेजते समय, ऐप्लिकेशन या RDS मॉड्यूल की आंतरिक पाइपलाइन एक व्युत्पन्न डेटाग्राम क्लास को इंस्टैंशिएट करती है। इसके बाद, सामान्य AVTPDU हेडर फ़ील्ड्स भरे जाते हैं: फ़ील्ड version ([SWS_RDS_90232]) को संबंधित समर्थित प्रोटोकॉल संस्करण स्तर पर सेट किया जाता है। फ़ील्ड avtpStreamDataSubtype ([SWS_RDS_90230]) को विशिष्ट पेलोड प्रकार के पहचान मान के साथ असाइन किया जाता है, ताकि प्राप्तकर्ता को डेटा स्ट्रीम को डिकोड करने में सक्षम बनाया जा सके। अंत में, व्युत्पन्न कार्यान्वयन IEEE-1722 विनिर्देश के अनुसार आवश्यक नियंत्रण बिट्स के साथ फ़ील्ड headerSpecific ([SWS_RDS_90231]) को कॉन्फ़िगर करता है।
Raw Data Stream के माध्यम से नेटवर्क पैकेट प्राप्त करते समय, इसके विपरीत प्रक्रिया होती है: आने वाले कच्चे डेटा को डीसीरियलाइज़ किया जाता है और व्युत्पन्न डेटाग्राम क्लास की संबंधित विशेषताओं में स्थानांतरित किया जाता है। इसके बाद उच्च-स्तरीय घटक बहुरूपी इंटरफ़ेस या सबक्लास की टाइप्ड एक्सेस विधियों के माध्यम से हेडर जानकारी की जाँच कर सकते हैं। लक्षित सिंक को AVTPDU पेलोड के सफल प्रसंस्करण और अग्रेषण के बाद, डेटाग्राम को रिलीज़ कर दिया जाता है, जहाँ वर्चुअल डिस्ट्रक्टर ([SWS_RDS_90233]) सभी संसाधनों की स्वच्छ रिलीज़ सुनिश्चित करता है। Interpretation: नेटवर्क पर सीरियलाइज़्ड ट्रांसमिशन संभवतः RDS स्टैक के डाउनस्ट्रीम सीरियलाइज़र्स के माध्यम से होता है, जो बाइट स्ट्रीम में IEEE 1722 के अनुरूप हेडर को व्यवस्थित करते हैं। प्रश्न Q-7f31ac02b5e4facf (खुला)
त्रुटि परिदृश्य
ara::rds::IEEE1722DatagramAVTPDUCommonHeaderFields के साथ काम करते समय त्रुटि परिदृश्य मुख्य रूप से हेडर फ़ील्ड्स में अमान्य मानों या अनुचित जीवनचक्र प्रबंधन के परिणामस्वरूप होते हैं।
डेटा तत्वों के स्तर पर, अमान्य मान प्रोटोकॉल के उल्लंघन का कारण बन सकते हैं। उदाहरण के लिए, यदि version ([SWS_RDS_90232]) के लिए रिमोट एंड द्वारा असमर्थित कोई संस्करण मान पास किया जाता है, तो इसके कारण संचार भागीदार द्वारा संपूर्ण AVTPDU को निरस्त (discard) किया जा सकता है। इसी तरह, गलत तरीके से सेट किया गया फ़ील्ड avtpStreamDataSubtype ([SWS_RDS_90230]) प्राप्तकर्ता द्वारा डेटा स्ट्रीम को उपयुक्त डिकोडर से सही ढंग से मैप न कर पाने का कारण बनता है। headerSpecific ([SWS_RDS_90231]) का असंगत असाइनमेंट बदले में सिंक्रनाइज़ेशन फ़्लैग्स या डेटा लंबाई के संबंध में गलत व्याख्याओं का कारण बन सकता है।
C++ स्तर पर, वर्चुअल डिस्ट्रक्टर ~IEEE1722DatagramAVTPDUCommonHeaderFields() noexcept ([SWS_RDS_90233]) विनाश प्रक्रिया के दौरान अपवादों को बाहर रखता है। यदि कोई व्युत्पन्न वर्ग संसाधनों की रिलीज़ के दौरान अपना स्वयं का त्रुटि प्रबंधन तर्क निष्पादित करता है, तो यह सुनिश्चित किया जाना चाहिए कि std::terminate के माध्यम से तत्काल प्रोग्राम समाप्ति को रोकने के लिए वहाँ भी कोई अपवाद न फेंका जाए।
यह मार्गदर्शिका AUTOSAR Adaptive R25-11 विनिर्देश पर आधारित है और स्वचालित रूप से बनाई गई थी।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल