يُستخدم كرمز تحكم لإدارة وإنهاء بحث غير متزامن قيد التشغيل في الخلفية عن نسخ الخدمة.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: eb9ee1985b4bالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُستخدم كرمز تحكم لإدارة وإنهاء بحث غير متزامن قيد التشغيل في الخلفية عن نسخ الخدمة.
يُستخدم الهيكل ara::com::FindServiceHandle كرمز تحكم فريد لإدارة مراقبة الخدمة التي تعمل في الخلفية (AUTOSAR_AP_EXP_ARAComAPI ص. 34). ونظرًا لحذف المُنشئ الافتراضي ([SWS_CM_00353])، يتم إنشاء المقبض حصريًا بواسطة StartFindService، ويتيح بعد استقبال ردود نداء الحالة غير المتزامنة إنهاء البحث بشكل هادف عبر StopFindService (AUTOSAR_AP_EXP_ARAComAPI ص. 30). كما تضمن معاملات المقارنة المدعومة إدارة قابلة للتخزين لعدة مهام بحث في الحاويات القياسية ([SWS_CM_11526]، [SWS_CM_11527]).
السياق
يعمل الهيكل ara::com::FindServiceHandle في الوحدة com في Adaptive Platform كمُعرّف فريد ورمز تحكم لعملية بحث غير متزامنة ومستمرة عن الخدمات. بينما يحدد الاستعلام المتزامن عبر FindService نسخ الخدمة المطابقة لمرة واحدة ويُرجع حاويات المقابض مباشرة، يبدأ StartFindService مراقبة دائمة لتوفر الخدمة في الخلفية (AUTOSAR_AP_EXP_ARAComAPI ص. 34). وعادةً ما يشترك في هذه العملية نسخة التطبيق، وفئة الوكيل الخاصة بالنوع (على سبيل المثال RadarServiceProxy)، بالإضافة إلى دالة رد اتصال محددة من قبل المستخدم من النوع FindServiceHandler (AUTOSAR_AP_EXP_ARAComAPI ص. 30). تم تصميم التمثيل الداخلي الفعلي لـ ara::com::FindServiceHandle بشكل خاص بكل تنفيذ لـ Communication Management المعنية، ولكنه يوفر واجهات C++ قياسية للتعامل معه.
دورة الحياة
ترتبط دورة حياة ara::com::FindServiceHandle ارتباطًا وثيقًا بعملية البحث النشطة في Communication Management:
الإنشاء: تم حذف المُنشئ الافتراضي صراحة ([SWS_CM_00353]). وبالتالي، لا يمكن للتطبيق إنشاء نسخ مقبض غير مهيأة أو بشكل مستقل. وبدلاً من ذلك، يتم إنشاء مقبض صالح حصريًا كحمولة لـ ara::core::Result بواسطة الطريقة الثابتة StartFindService (AUTOSAR_AP_EXP_ARAComAPI ص. 30).
الإدارة والملكية: يدعم المقبض التعيين عبر معامل تعيين النسخ [SWS_CM_11528]. ولتمكين التطبيق من تخزين وتنظيم مهام بحث متعددة في حاويات قياسية (مثل المجموعات المرتبة أو الذواكر الترابطية)، يحقق النوع مفهومي C++ [equalitycomparable] و[lessthancomparable] عبر المعاملين operator== ([SWS_CM_11526]) وoperator< ([SWS_CM_11527]).
الإنهاء والتدمير: يحتفظ المقبض بصلاحيته طالما أن المراقبة في الخلفية نشطة. يتم إنهاء البحث عن طريق تمرير المقبض إلى StopFindService (AUTOSAR_AP_EXP_ARAComAPI ص. 30، AUTOSAR_AP_EXP_ARAComAPI ص. 34). بعد هذا الاستدعاء، لا يعود المقبض يمثل أي عملية بحث قيد التشغيل.
مسار الاستخدام
يتضمن التسلسل القياسي تسجيل طلب البحث، والاستلام المستمر لتحديثات التوافر، والإيقاف المنظم لعملية المراقبة:
الحصول على المقبض: عند البدء الناجح، يُرجع الاستدعاء ara::core::Result مع FindServiceHandle (AUTOSAR_AP_EXP_ARAComAPI ص. 30)، والذي يحتفظ به التطبيق لاستدعاءات التحكم اللاحقة.
الإخطار غير المتزامن: يقوم Communication Management بتنفيذ البحث في الخلفية واستدعاء المعالج المقدم عند حدوث تغييرات في الحالة (AUTOSAR_AP_EXP_ARAComAPI ص. 34).
عند استخدام ara::com::FindServiceHandle، يجب مراعاة الشروط الحدية الخاصة بالنظام التالية:
فشل بدء البحث: في حال كانت الارتباطات التقنية غير متاحة أو كان تكوين نشر الخدمة غير صحيح (AUTOSAR_AP_EXP_ARAComAPI ص. 34)، يفشل StartFindService. لا يحتوي ara::core::Result المُرجع في هذه الحالة على مقبض صالح، بل على رمز خطأ (AUTOSAR_AP_EXP_ARAComAPI ص. 30).
أمان الاستثناءات: تم الإعلان صراحة في المواصفة عن معاملات المقارنة والتعيين المنفذة operator== ([SWS_CM_11526])، وoperator< ([SWS_CM_11527])، وoperator= ([SWS_CM_11528]) على أنها غير آمنة من حيث الاستثناءات (not exception safe).
الإيقاف المتعدد: يُفترض أن يظل الاستدعاء المتكرر لـ StopFindService باستخدام نفس المقبض بلا تأثير أو يؤدي إلى خطأ وقت التشغيل، نظراً لأنه قد تمت بالفعل إزالة نشاط المراقبة الأساسي. سؤال Q-f44130c33fa1caea (مفتوح)
يستند هذا الدليل إلى مواصفة AUTOSAR الخاصة بـ Adaptive Platform (الإصدار R25-11). تعتمد الواجهات والسلوكيات الموضحة على متطلبات SWS وأوصاف API المرجعية.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني