स्ट्रक्चर <SI-Namespace>::proxy::methods::<Method>::Output
struct Output {...};
Structure wrapping the out arguments for a method
| Header-Datei | #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" |
|---|---|
| Forwarding-Header | #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy/<SiShortname>_proxy_fwd.h" |
| Scope | class <SI-Namespace>::proxy::methods::<Method> |
उपयोगकर्ता गाइडएआई जनित
प्राप्तकर्ता प्रॉक्सी के लिए एसिंक्रोनस रूप से कॉल की गई सर्विस मेथड के आउटपुट पैरामीटरों को एक डेटा संरचना के रूप में एनकैप्सुलेट करता है।
प्राप्तकर्ता प्रॉक्सी के लिए एसिंक्रोनस रूप से कॉल की गई सर्विस मेथड के आउटपुट पैरामीटरों को एक डेटा संरचना के रूप में एनकैप्सुलेट करता है।
संरचना <SI-Namespace>::proxy::methods::<Method>::Output AUTOSAR Adaptive Platform ([SWS_CM_99333]) की एक प्रॉक्सी सर्विस मेथड के आउटपुट तर्कों को एनकैप्सुलेट करती है। कॉलर सफलता की स्थिति में get() या GetResult() (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 “Struct: Output”) के माध्यम से इसके रिज़ॉल्यूशन के बाद लौटाए गए ara::core::Future के ज़रिए संरचना प्राप्त करता है। यदि प्रसंस्करण के दौरान त्रुटियां होती हैं, तो कोई Output ऑब्जेक्ट नहीं बनाया जाता है, बल्कि इसके बजाय फ्यूचर संदर्भ के माध्यम से एक त्रुटि कोड प्रदान किया जाता है। फ्यूचर ऑब्जेक्ट को नष्ट करके क्लाइंट चल रहे मेथड कॉल को समय से पहले निरस्त कर सकता है।
संदर्भ
संरचना <SI-Namespace>::proxy::methods::<Method>::Output AUTOSAR Adaptive Platform के संचार प्रबंधन (com) में एक सर्विस मेथड ([SWS_CM_99333]) के आउटपुट तर्कों के लिए संरचित एनकैप्सुलेशन के रूप में कार्य करती है। सर्विस उपभोक्ता (प्रॉक्सी) की ओर, यह क्लास टाइप की गई उत्पन्न होती है ताकि सर्विस प्रदाता द्वारा निर्धारित और मिडलवेयर के माध्यम से प्रेषित परिणाम मानों को बंडल रूप में क्लाइंट एप्लिकेशन को सौंपा जा सके। सर्विस प्रदाता (स्केलेटन) की ओर, मेथड रिटर्न प्रदान करने के लिए एक संबंधित डेटा संरचना मौजूद होती है ([SWS_CM_99556])। आवश्यक इंटरैक्शन भागीदार कॉलिंग क्लाइंट एप्लिकेशन, प्रॉक्सी मेथड इंस्टेंस, साथ ही कॉल इंटरफ़ेस द्वारा लौटाया गया ara::core::Future हैं, जो सफलता के मामले में Output ऑब्जेक्ट को ले जाता है (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 “Struct: Output”)।
जीवनचक्र
Output के एक इंस्टेंस का जीवनचक्र सीधे Adaptive Platform के एसिंक्रोनस संचार पैटर्न में अंतर्निहित है। प्रॉक्सी पर एक मेथड कॉल के निष्पादन पर, रनटाइम वातावरण एक ara::core::Future बनाता है, जो बाद के Output ऑब्जेक्ट के लिए एक कंटेनर के रूप में कार्य करता है (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 “Struct: Output”)। वास्तविक परिणाम डेटा प्रदाता पक्ष पर उत्पन्न होता है: प्रसंस्करण के पूरा होने के बाद – या तो सर्विस मेथड के बॉडी में सिंक्रोनस रूप से या एक अलग थ्रेड में एसिंक्रोनस रूप से – आउटपुट पैरामीटर आउटपुट संरचना में संग्रहीत किए जाते हैं और Promise के माध्यम से संबंधित Future को सौंपे जाते हैं (ARAComAPI §6.19 “Returning Future with already set result”)।
जैसे ही परिणाम उपलब्ध होता है, क्लाइंट get() या GetResult() के माध्यम से Output-इंस्टेंस निकालता है। इस प्रक्रिया में ऑब्जेक्ट कॉलर के स्वामित्व में चला जाता है; इस बिंदु के बाद आगे का जीवनकाल संभवतः कॉलिंग एप्लिकेशन कोड पर निर्भर करता है। प्रश्न Q-27f51b3c9fb838ed (खुला) जीवनचक्र के लिए एक प्रासंगिक बाधा समय से पहले निरस्तीकरण से संबंधित है: लौटाए गए ara::core::Future ऑब्जेक्ट का डिस्ट्रक्टर कॉलर द्वारा अनुरोध भेजने के बाद उसे रद्द करने का काम करता है ([SWS_CM_00194])। यदि फ़्यूचर समय से पहले नष्ट हो जाता है, तो यह कॉल को निरस्त करने की ओर ले जाता है, जिससे Output संरचना का कोई वितरण नहीं होता है।
उपयोग पथ
मेथड आउटपुट पैरामीटर प्राप्त करने के सामान्य अनुक्रम में निम्नलिखित चरण शामिल हैं:
- कॉल ट्रिगर करना: क्लाइंट प्रॉक्सी पर सर्विस मेथड को कॉल करता है और तुरंत एक
ara::core::Future<Output>(AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 “Struct: Output”) प्राप्त करता है। - परिणाम क्वेरी करना: क्लाइंट परिणाम पर सिंक्रनाइज़ करता है या सीधे
get()याGetResult()को कॉल करता है। यदि परिणाम पहले ही सर्वर साइड परPromiseपर सेट किया जा चुका है, तो कॉल ब्लॉक नहीं होता है, बल्कि तुरंतOutputसंरचना लौटाता है (ARAComAPI §6.19 “Returning Future with already set result”)। - मानों को प्रोसेस करना: क्लाइंट प्राप्त संरचना से आउटपुट मान पढ़ता है। व्याख्या: संरचना
Outputसंभवतः मेथड के सभी परिभाषित Out- और Inout-तर्कों को स्वतंत्र रूप से सुलभ सदस्यों (members) के रूप में प्रदान करती है। प्रश्न Q-3a292028627f3c64 (खुला)
अनुक्रम आरेख: प्रॉक्सी मेथड का आह्वान और फ़्यूचर के माध्यम से आउटपुट संरचना का अधिग्रहण। स्रोत: [SWS_CM_99333], AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 “Struct: Output”, ARAComAPI §6.19 “Returning Future with already set result”।
त्रुटि परिदृश्य
यदि मेथड के प्रसंस्करण के दौरान कोई त्रुटि होती है, तो कोई नियमित Output ऑब्जेक्ट वापस नहीं किया जाता है। संचार प्रबंधन इसे विशिष्ट त्रुटि तंत्रों के माध्यम से संभालता है:
- जांची गई एप्लिकेशन त्रुटियां (Checked Errors): यदि मेथड कॉल के प्रसंस्करण के दौरान कोई परिभाषित त्रुटि होती है, तो संबंधित
ara::core::ErrorCodeकोget()याGetResult()कॉल के संदर्भ में वितरित किया जाता है ([SWS_CM_10371])। - इन्फ्रास्ट्रक्चर और ट्रांसमिशन त्रुटियां: यदि कॉल विफल हो जाता है, तो
ara::core::Futureमें एक संबंधित त्रुटि कोड होता है जैसे किara::core::FutureErrc(AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 “Struct: Output”) या प्रदाता पक्ष परara::com::ComErrc(AUTOSAR_AP_SWS_CommunicationManagement §8.4 “Methods”)। - Fire-and-Forget मेथड्स: बिना रिटर्न वैल्यू वाली मेथड्स (Fire and Forget) के लिए कोई जांची गई त्रुटियां रिपोर्ट नहीं की जाती हैं ([SWS_CM_90436]); ऐसी विधियों के लिए कोई
Outputसंरचना मौजूद नहीं होती है। - कॉल निरस्तीकरण:
Futureऑब्जेक्ट को नष्ट करना चल रहे अनुरोध को निरस्त कर देता है औरOutputपरिणाम के प्रावधान को रोकता है ([SWS_CM_00194])।
यह मार्गदर्शिका पूरी तरह से Adaptive रिलीज़ R25-11 के विनिर्देशों पर आधारित है।
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल