DEENESPTFRRUARHIKOZHNL

فئة <SI-Namespace>::proxy::methods::<FnFMethod>

[SWS_CM_99332] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114

class <FnFMethod> {...};

Service proxy fire-and-forget method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget==TRUE) defined in the ServiceInterface in the role method.

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Forwarding-Header#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy/<SiShortname>_proxy_fwd.h"
Scopenamespace <SI-Namespace>::proxy::methods

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

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

يتيح الاستدعاء غير المؤكد لطرق أحادية الاتجاه لواجهة خدمة دون قيمة إرجاع على مستوى العميل.

تتيح فئة الوكيل (Proxy) لتطبيق العميل إطلاق استدعاءات طرق غير مؤكدة لعمليات الخدمة بدلالات Fire-and-Forget [SWS_CM_90435]. عند استدعاء معامل الدالة، يتم إرسال معلمات الإدخال دون إنشاء قيمة إرجاع أو Future استجابة للحصول على نتيجة. وفي الوقت نفسه، يتم عند كل استدعاء طريقة تنفيذ الحماية الشاملة من البداية إلى النهاية (End-to-End)، والتي يمكن الاستعلام عن حالة فحصها الحالية بشكل منفصل [SWS_CM_00147]. يتم الاستدعاء بشكل آمن من الاستثناءات، ولكنه يفشل مع حدوث انتهاك للأذونات في حال عدم كفاية حقوق الوصول.

السياق

يمثل الصنف <SI-Namespace>::proxy::methods::<FnFMethod> طريقة «أطلق وانسَ» (Fire-and-Forget) على جانب العميل أو الوكيل (Proxy) في إدارة الاتصالات الخاصة بـ AUTOSAR Adaptive Platform [SWS_CM_90435]. وفي بنية موجهة نحو الخدمات، يوجد لكل عملية محددة في الواجهة (ClientServerOperation) يُحدد فيها ClientServerOperation.fireAndForget == TRUE مثيل واحد بالضبط من هذا النوع في دور الوكيل [SWS_CM_90435]، SWS CommunicationManagement §8.3.4.1.2.1 «operator()».

تكمن مسؤوليته الأساسية في استلام وسائط الاستدعاء وتمريرها إلى طبقة النقل. وعلى خلاف الاستدعاءات ثنائية الاتجاه المتزامنة أو غير المتزامنة، التي تُخطر المتصل عبر ara::core::Future وتنقل أي أخطاء تطبيقة محتملة [SWS_CM_00197]، لا يتطلب استدعاء «أطلق وانسَ» استجابةً أو تأكيدًا من جانب الخادم. ويشمل أطراف التفاعل تطبيق العميل المستدعي، ومثيل الطريقة الخاص بوكيل الخدمة، بالإضافة إلى ربط الاتصال اللاحق شاملًا تأمين E2E.

Client تطبيق العميل FnFMethod proxy::methods::<FnFMethod> Client->FnFMethod operator() Client->FnFMethod GetE2EStateMachineState() Binding Kommunikations-Binding / E2E FnFMethod->Binding E2E_Check() والنقل

مخطط السياق: المكونات وعلاقات الواجهة لصنف طريقة «أطلق وانسَ» الخاصة بالوكيل. المصادر: [SWS_CM_90435]، [SWS_CM_00147]

دورة الحياة

يتم التصريح عن الصنف داخل ملف الترويسة المولد #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" في النطاق الهرمي <SI-Namespace>::proxy::methods::<FnFMethod> [SWS_CM_90435]. ويُرجح أن تكون دورة حياة مثيل الطريقة مرتبطة بدورة حياة كائن وكيل الخدمة الأصلي (تفسير: يتم إنشاء الطريقة وتدميرها ككائن فرعي مع وكيل الخدمة). سؤال Q-9ee6da68f325c3d0 (مفتوح)

بالإضافة إلى مجرد الاستدعاء، يمتلك الصنف حالة داخلية تتعلق بحماية E2E (الحماية من طرف إلى طرف). وتُحدد حالة E2E هذه عند كل استدعاء للطريقة عبر الدالة E2E_Check() ويمكن الاستعلام عنها عبر GetE2EStateMachineState()، والتي تُرجع قيمة الحالة من النوع ara::com::e2e::SMState [SWS_CM_00147]، SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState». تم التصريح عن جميع دوال الأعضاء على أنها noexcept [SWS_CM_00147]، [SWS_CM_90435]؛ وعند الاستدعاء المتزامن من عدة خيوط معالجة، يُرجح أن تكون هناك حاجة لمزامنة خارجية إذا لم يضمن الربط إمكانية إعادة الدخول (Reentrancy). سؤال Q-e59aae09676d76c2 (مفتوح)

مسار الاستخدام

يتضمن التسلسل النموذجي لاستخدام طريقة «أطلق وانسَ» الخطوات التالية:

  • توفير الوكيل: يقوم التطبيق بإنشاء مثيل لوكيل الخدمة المولد أو الحصول عليه عبر واجهة الترويسة المحددة [SWS_CM_90435].
  • تنفيذ استدعاء الطريقة: يستدعي التطبيق كائن الطريقة عبر operator() ممررًا معلمات الإدخال [SWS_CM_90435]. ولا تقدم الدالة أي قيمة إرجاع (void) وتعود على الفور دون انتظار أي تفاعل من الخادم SWS CommunicationManagement §8.3.4.1.2.1 «operator()».
  • تحديث E2E: أثناء استدعاء operator()، تُجري البرمجية الوسيطة داخليًا فحص الحماية E2E_Check() وتقوم بتحديث آلة الحالة الداخلية [SWS_CM_00147].
  • فحص الحالة (اختياري): يمكن للتطبيق الاطلاع عبر GetE2EStateMachineState() على الحالة الناتجة ara::com::e2e::SMState لآلة الحالة [SWS_CM_00147]، SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState».
سير عملية استدعاء طريقة أطلق وانسَ (Fire-and-Forget)تطبيق العميلproxy::methods::<FnFMethod>Kommunikations-Binding / E2Eoperator()({in-args})E2E_Check() وإرسال البثالعودة (void)GetE2EStateMachineState()ara::com::e2e::SMState

مخطط التسلسل: تسلسل التفاعل النموذجي عند استدعاء طريقة «أطلق وانسَ» والاستعلام اللاحق عن الحالة. المصادر: [SWS_CM_90435]، [SWS_CM_00147]

سيناريوهات الأخطاء

يعد كل من operator() وGetE2EStateMachineState() آمنين من الاستثناءات (exception safe) ومُصرّحًا عنهما كـ noexcept [SWS_CM_00147]، [SWS_CM_90435]. وبناءً على ذلك، لا يتم إطلاق أي استثناءات C++.

في حال عدم توفر حقوق الوصول، يسري إنفاذ الأذونات (Grant Enforcement): إذا افتقر سياق الاستدعاء إلى الأذونات اللازمة، يُرفض الاستدعاء ويتم تسجيل InsufficientPermissionsViolation [SWS_CM_90435].

نظرًا لعدم وجود أي إرجاع عبر ara::core::Future، ولكون عمليات «أطلق وانسَ» لا تدعم نقل ApApplicationError أو ara::core::ErrorCode [SWS_CM_00197]، فلا يتم إرجاع أخطاء النقل إلى المتصل. وتتجلى أي أخطاء محتملة في أمان البيانات أو في قناة النقل حصرًا في حالة آلة حالة E2E، والتي يمكن تشخيصها عبر GetE2EStateMachineState() [SWS_CM_00147].

يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive Platform الإصدار R25-11 ويصف آلية عمل صنف طريقة «أطلق وانسَ» الخاصة بالوكيل.

مخطط الفئات UML

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G n_SI_Namespace___proxy__methods___FnFMethod_122 <FnFMethod> + GetE2EStateMachineState() + operator()

الدوال الأعضاء

Returns the state of the specific fnfmethod class, which was determined by the last run of E2E_Check() function invoked during the last call of operator()

ara::com::e2e::SMState GetE2EStateMachineState () const noexcept;

المعاملات

operator دالة

Initiate a fire-and-forget method call (ClientServerOperation. fireAndForget ==TRUE)

void operator() ({<p-fnfmethod-in-arg-derived-type-0toN>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept;

توثيق الدوال

دالة GetE2EStateMachineState [SWS_CM_00147] Upstream: RS_CM_00224, RS_E2E_08534

ara::com::e2e::SMState GetE2EStateMachineState () const noexcept;

Returns the state of the specific fnfmethod class, which was determined by the last run of E2E_Check() function invoked during the last call of operator()

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Scopeclass <SI-Namespace>::proxy::methods::<FnFMethod>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::e2e::SMStateState of the specific fnfmethod class

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00147@rel:R25-11#f9bdaab8
Content hash
f9bdaab8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00147
Status: valid/unmigrated Version: rel:R25-11#f447bc35 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00147@rel:R25-11#f447bc35
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة operator [SWS_CM_90435] Upstream: RS_CM_00225, RS_AP_00114, RS_AP_00120

void operator() ({<p-fnfmethod-in-arg-derived-type-0toN>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept;

Initiate a fire-and-forget method call (ClientServerOperation. fireAndForget ==TRUE)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Scopeclass <SI-Namespace>::proxy::methods::<FnFMethod>
Exception-Sicherheitexception safe
Verletzungen (Violations)InsufficientPer- Refused by Grant Enforcement missionsViolation

Parameter (in)

ParameterBeschreibung
{<fnfmethod-in-arg-symbol-0toN>}As per {<p-method-in-arg-symbol-0toN>} in [SWS_CM_00191]

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_90435
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90435@rel:R25-11#db7ca7ed
Content hash
db7ca7ed
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90435
Status: valid/unmigrated Version: rel:R25-11#6620ed09 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_90435@rel:R25-11#6620ed09
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3c47af102026-09-30
  • R19-11rel:R19-11#c4decbd42026-10-14
  • R20-11rel:R20-11#02f450d92026-10-14
  • R21-11rel:R21-11#0606f4f32026-10-14
  • R22-11rel:R22-11#c4decbd42026-10-14
  • R23-11rel:R23-11#3a705bf02026-10-14
  • R24-11rel:R24-11#41cb46922026-10-14
  • R25-11rel:R25-11#6620ed092026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill