DEENESPTFRRUARHIKOZHNL

بنية <SI-Namespace>::proxy::methods::<Method>::Output

[SWS_CM_99333] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

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"
Scopeclass <SI-Namespace>::proxy::methods::<Method>

دليل المستخدممولَّد بالذكاء الاصطناعي

تُغلّف كهيكل بيانات معلمات الإخراج الخاصة بطريقة خدمة تم استدعاؤها بشكل غير متزامن لصالح الوكيل (Proxy) المستلِم.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 8153a94079af المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُغلّف كهيكل بيانات معلمات الإخراج الخاصة بطريقة خدمة تم استدعاؤها بشكل غير متزامن لصالح الوكيل (Proxy) المستلِم.

يُغلّف الهيكل <SI-Namespace>::proxy::methods::<Method>::Output وسائط الإخراج لطريقة خدمة وكيل خاصة بـ AUTOSAR Adaptive Platform ([SWS_CM_99333]). يتلقى المتصل الهيكل في حالة النجاح عبر ara::core::Future مُرجَع بعد حله عبر get() أو GetResult() (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 «Struct: Output»). وإذا حدثت أخطاء أثناء المعالجة، فلن يتم إنشاء كائن Output، بل يُتاح بدلاً من ذلك رمز خطأ عبر سياق Future. ومن خلال تدمير كائن Future، يمكن للعميل إلغاء استدعاء الطريقة الجاري قبل أوانه.

السياق

يعمل الهيكل <SI-Namespace>::proxy::methods::<Method>::Output في إدارة الاتصالات (com) التابعة لـ AUTOSAR Adaptive Platform كتغليف منظم لوسائط الإخراج الخاصة بطريقة الخدمة ([SWS_CM_99333]). يتم توليد هذه الفئة بنمط محدد الأنواع على جانب مستهلك الخدمة (Proxy)، لتسليم قيم النتائج المجمعة، والتي تم تحديدها بواسطة موفر الخدمة ونقلها عبر البرمجية الوسيطة، إلى تطبيق العميل. على جانب موفر الخدمة (Skeleton)، يوجد هيكل بيانات مطابق لتوفير القيمة المُرجعة للطريقة ([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»).

بمجرد أن تصبح النتيجة جاهزة، يستخرج العميل مثيل Output عبر get() أو GetResult(). وعندئذٍ تنتقل ملكية الكائن إلى المستدعي؛ ويُفترض أن فترة بقاء الكائن بعد هذه النقطة تقع على عاتق كود التطبيق المستدعي. سؤال Q-27f51b3c9fb838ed (مفتوح) يتعلق أحد القيود ذات الصلة بدورة الحياة بالإلغاء المبكر: يُستخدم مُدمّر كائن ara::core::Future المُرجَع من قِبل المستدعي لإلغاء الطلب بعد إرساله ([SWS_CM_00194]). إذا تم تدمير Future قبل الأوان، فإن هذا يؤدي إلى إلغاء الاستدعاء، بحيث لا يحدث تسليم لهيكل 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 المحددة للطريقة كأعضاء يمكن الوصول إليها بحرية. سؤال Q-3a292028627f3c64 (مفتوح)
استدعاء طريقة وكيل وجلب بنية OutputClientProxyMethodFuture<Output>Methodenaufruf()ara::core::Future<Output>get() / GetResult()altErfolgreichOutputFehler aufgetretenara::core::ErrorCode

مخطط تسلسلي: استدعاء طريقة وكيل واستلام هيكل Output عبر Future. المصادر: [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.