DEENESPTFRRUARHIKOZHNL

فئة <SI-Namespace>::skeleton:: events::<Event>

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

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

يُمكّن موفري الخدمات من إرسال الأحداث من جانب الخادم إلى التطبيقات المشتركة.

تُستخدَم الفئة <SI-Namespace>::skeleton::events::<Event> بواسطة موفري الخدمة على AUTOSAR Adaptive Platform لنشر بيانات الأحداث إلى التطبيقات المشترِكة. يمكن إرسال الأحداث إما بالاعتماد على النسخ أو بكفاءة دون نسخ عبر مخازن مؤقتة مخصصة مسبقًا بواسطة Allocate() ([SWS_CM_90438]). يتطلب استدعاء الإرسال عبر Send() إلزاميًا أن يكون مثيل الخدمة المقترن قد تم تقديمه مسبقًا بنجاح ومراعاة الحد الأدنى للفاصل الزمني للإرسال المكوَّن ([SWS_CM_00162]).

السياق

تمثل الفئة <SI-Namespace>::skeleton::events::<Event> الواجهة من جانب الخادم لنشر أحداث خدمة ما داخل AUTOSAR Adaptive Platform. وهي تتيح لتطبيق الخدمة (Skeleton) نقل بيانات الأحداث المحدَّثة من النوع SampleType ([SWS_CM_11400]) بشكل غير متزامن إلى جميع تطبيقات العميل المشترِكة ([SWS_CM_00162]). يتفاعل الـ Skeleton في هذه العملية مباشرةً مع طبقة الاتصال (Communication Management)، التي تتولى العثور على مثيلات الخدمة والتوزيع المادي لبيانات الأحداث. بالإضافة إلى إرسال البيانات، يراقب مثيل الـ Event حالة الاشتراك الحالية ويُبلِغ موفر الخدمة بالتغييرات في دائرة المشتركين ([SWS_CM_12008]، [SWS_CM_12011]).

EventKontext Application Anwendungs-Skeleton Event <SI-Namespace>::skeleton::events::<Event> Application->Event Send() / Allocate() Event->Application SubscriptionState ComMgt Communication Management Event->ComMgt Datenweitergabe ComMgt->Event Abonnement-Zustand Subscribers Abonnierende Anwendungen ComMgt->Subscribers Event-Verteilung

مخطط السياق: تفاعل فئة الـ Event مع موفر الخدمة وCommunication Management والمشتركين. المصادر: [SWS_CM_00162]، [SWS_CM_90437]، [SWS_CM_12011]

دورة الحياة

يتم إنشاء مثيل فئة الـ Event بالاقتران مع مثيل خدمة الـ Skeleton ذي المستوى الأعلى. ويُفترَض أن دورة حياة مثيل الـ Event ترتبط ارتباطًا وثيقًا بدورة حياة الـ Skeleton، بحيث لا يصبح كائن الحدث قابلاً للاستخدام إلا بعد إنشاء الخدمة وينتهي بتدميرها. سؤال Q-4e733f93c853a3eb (مفتوح) وقبل النقل النشط للبيانات، يجب أن تكون الخدمة قد قُدِّمَت، لأن محاولات النقل قبل تقديم الخدمة تفشل ([SWS_CM_00162]).

خلال مرحلة التشغيل، يعكس المثيل حالة اتصالات المشتركين. ويمكن الاستعلام عن الحالة الحالية عبر GetSubscriptionState() ([SWS_CM_12011]). للاستجابة غير المتزامنة لتغيرات الحالة، يسجل التطبيق رد اتصال مناسبًا بواسطة SetSubscriptionStateChangeHandler() ([SWS_CM_12008])، مقترنًا اختياريًا بسياق تنفيذ محدد عبر كائن Executor ([SWS_CM_12009]). وعند إنهاء الخدمة أو إعادة توجيهها، يمكن إلغاء تسجيل هذا المعالج مجددًا عبر UnsetSubscriptionStateChangeHandler() ([SWS_CM_12010]). تم الإعلان عن جميع استعلامات الحالة وطرق المعالج كـ noexcept، وهي تضمن أمان الاستثناءات ([SWS_CM_12008]، [SWS_CM_12011]).

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

لنشر بيانات الأحداث، يتوفر لتطبيق الخدمة نمطان أساسيان للنقل: النقل القائم على النسخ وإجراء Zero-Copy عبر الذاكرة المُدارة (EXP ara::com API ص. 10).

في مسار الاستخدام المعتاد، يسجل موفر الخدمة أولاً رد اتصال لتغييرات الاشتراك عند الحاجة ([SWS_CM_12008]). وبمجرد وجود مشتركين، يُنشئ التطبيق إما بيانات محلية ويمررها بالقيمة إلى Send() ([SWS_CM_00162])، حيث ينشئ Communication Management نسخة من البيانات ويعيد توجيهها إلى جميع المشتركين (EXP ara::com API ص. 10).

بدلاً من ذلك، يطلب التطبيق مباشرةً من طبقة الاتصال مخزنًا مؤقتًا للذاكرة في شكل ara::com::SampleAllocateePtr<SampleType> عبر Allocate() لتجنب أعباء النسخ ([SWS_CM_90438]، EXP ara::com API ص. 10). وبعد ملء المخزن المؤقت، يتم نقله عبر التحميل الزائد المتخصص لـ Send() ([SWS_CM_90437]). التفسير: يُرجَّح أن تنتقل ملكية الذاكرة بالكامل إلى Communication Management بمجرد الإرسال، حيث يُحظر على التطبيق صراحةً أي وصول إضافي إلى البيانات بعد الاستدعاء ([SWS_CM_90437]). سؤال Q-86aba8c6f9bf42e9 (مفتوح)

سير عملية نقل الأحداث في الهيكل (Skeleton)Anwendung (Skeleton)Event-ObjektCommunication ManagementUse Case: Handler-RegistrierungSetSubscriptionStateChangeHandler(handler)Abonnement-Handler registrierenUse Case: النمط 1: نقل بدون نسخ (Zero-Copy) باستخدام AllocateAllocate()Speicherpuffer reservierenSampleAllocateePtrSampleAllocateePtrPufferdaten schreibenSend(ptr)نقل البيانات إلى المشتركينResult<void>Result<void>Use Case: النمط 2: نقل قائم على النسخSend(data)إنشاء نسخة ونقلهاResult<void>Result<void>

مخطط التسلسل: التسلسل النموذجي لنقل الحدث بما في ذلك تسجيل المعالج والتخصيص. المصادر: [SWS_CM_12008]، [SWS_CM_90438]، [SWS_CM_90437]، [SWS_CM_00162]

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

تُرجع استدعاءات Send() كائن ara::core::Result<void>، والذي يحتوي في حالة الخطأ على رمز خطأ مطابق من النوع ara::com::ComErrc ([SWS_CM_00162]، [SWS_CM_90437]). وتتضمن حالات الخطأ المحددة ما يلي:

  • ComErrc::kServiceNotOffered: لم يتم توفير الخدمة بعد عبر OfferService() قبل محاولة الإرسال ([SWS_CM_00162]، [SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: تم النزول عن الحد الأدنى للفاصل الزمني للإرسال المكوَّن للحدث (minimumSendInterval)، وذلك بسبب إرسال استدعاءات الإرسال في تتابع سريع للغاية ([SWS_CM_00162]، [SWS_CM_90437]).

بالإضافة إلى ذلك، يجب مراعاة الشروط المسبقة عند التخصيص وتكوين المعالج:

  • Allocate() ليس آمنًا من حيث الاستثناءات (not exception safe) ويؤدي إلى SampleAllocationViolation عند عدم كفاية موارد الذاكرة، أو إلى AllocateUsageViolation عند الاستخدام غير المسموح به لمخصصات مخصصة ([SWS_CM_90438]).
  • يتطلب SetSubscriptionStateChangeHandler() كائن دالة صالحًا وقابلاً للاستدعاء؛ وإذا تم تمرير معالج فارغ (null) أو غير موجود، فسيؤدي ذلك إلى InvalidHandlerViolation ([SWS_CM_12008]، [SWS_CM_12009]).

يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive Platform R25-11.

خريطة الأعضاء

مخطط الفئة

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

G n_SI_Namespace___skeleton___events___Event_831 <Event> + Allocate() + Send() + GetSubscriptionState() + SetSubscriptionStateChangeHandler() + UnsetSubscriptionStateChangeHandler()

عرض التفاصيل

اختر عنصرًا من المخطط.

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

Allocate دالة

Allocating data for event transfer when Communication Management is responsible for the data.

Query ara::com::SubscriptionState of an event.

ara::com::SubscriptionState GetSubscriptionState () const noexcept;
Send دالة 2

Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications.

التحميلات الزائدة Send 2
ara::core::Result< void > Send (<SSampleDerivedType> data) noexcept; SWS_CM_00162
ara::core::Result< void > Send (ara::com::SampleAllocateePtr< Sample Type > data) noexcept; SWS_CM_90437

Set/Register ara::com::SubscriptionState change handler

التحميلات الزائدة SetSubscriptionStateChangeHandler 2
void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler) noexcept; SWS_CM_12008
template <typename ExecutorT> void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler, ExecutorT &&executor) noexcept; SWS_CM_12009

Unset/Deregister the ara::com::SubscriptionState change handler

void UnsetSubscriptionStateChangeHandler () noexcept;

أسماء الأنواع البديلة

SampleType اسم نوع بديل

Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via the indirection of a DataTypeMap)

using SampleType = <SSampleCppidt>;

توثيق الدوال

دالة Allocate [SWS_CM_90438] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00115, RS_AP_00120

ara::com::SampleAllocateePtr< SampleType > Allocate ();

Allocating data for event transfer when Communication Management is responsible for the data.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: fc3608719061 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستدعى الطريقة Allocate على مستوى الهيكل (skeleton) لحدث ما ([SWS_CM_90438]؛ AUTOSAR_AP_EXP_ARAComAPI §5.4.1 «Skeleton Class API’s»)، لتخصيص ذاكرة لنقل بيانات الأحداث عندما تكون Communication Management (ara::com) مسؤولة عن إدارة البيانات ([SWS_CM_90438]). وتعيد نسخة من النوع ara::com::SampleAllocateePtr<SampleType> ([SWS_CM_90438]). يتصرف نوع المؤشر هذا مفاهيميًا مثل std::unique_ptr<T>، بحيث يكون طرف واحد فقط هو المالك للمؤشر في أي وقت (ARAComAPI §6 «Event Allocate/Send sample Binding implementer hint»).

فيما يتعلق بمعالجة الأخطاء والأمان من الاستثناءات، تم تحديد Allocate على أنها not exception safe ([SWS_CM_90438]). وتحدد المواصفة انتهاكين محتملين (Violations):

  • SampleAllocationViolation: لا تتوفر موارد ذاكرة كافية لتخصيص البيانات ([SWS_CM_90438]).
  • AllocateUsageViolation: تم التخصيص بصورة غير مسموح بها عبر مخصّص معرّف من قِبل المستخدم ([SWS_CM_90438]).

يهدف المفهوم الكامن وراء Allocate أساسًا إلى دعم آليات النقل دون نسخ (Zero-Copy)، لا سيما في نقل IPC القائم على الذاكرة المشتركة، مع افتراض وجود مزامنة صارمة بين القراء والكتّاب (ARAComAPI §6 «Event Allocate/Send sample Binding implementer hint»). يجب على المنفذين مراعاة أن متطلبات التسلسل التسلسلي قد تبطل ميزة Zero-Copy، ما لم تكن أنواع البيانات مهيأة لتكون متوافقة ثنائيًا في النشر أو إذا كان منطق الكشف يستبعد ذلك (ARAComAPI §6 «Event Allocate/Send sample Binding implementer hint»).

في إطار التفاعل مع إرسال الأحداث، يتم تمرير مؤشر الذاكرة الذي تم الحصول عليه عبر Allocate إلى Send(ara::com::SampleAllocateePtr<SampleType> data) ([SWS_CM_90437]). بعد استدعاء Send، لا يجوز لتطبيق الخدمة الوصول إلى البيانات بمجرد أن ترسل Communication Management البيانات إلى جميع التطبيقات المشتركة ([SWS_CM_90437]).

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى وثائق المواصفات الخاصة بإصدار AUTOSAR R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitnot exception safe
Verletzungen (Violations)SampleAllocation- Not enough memory resources can be allocated Violation AllocateUsageVio- The allocation was illegally done via custom allocator lation

Rückgabewert

TypBeschreibung
ara::com::SampleA ara::com::SampleAllocateePtr to an event sample AllocateePtr< Sample Type >

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

Record
AUTOSAR/AP/record/SWS_CM_90438
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90438@rel:R25-11#d9aa76d5
Content hash
d9aa76d5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90438
Status: valid/unmigrated Version: rel:R25-11#3059e6d8 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_90438@rel:R25-11#3059e6d8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b02a325f2026-09-30
  • R19-11rel:R19-11#b404edd72026-10-14
  • R20-11rel:R20-11#8f3783f62026-10-14
  • R21-11rel:R21-11#a234befb2026-10-14
  • R22-11rel:R22-11#340e44dd2026-10-14
  • R23-11rel:R23-11#340e44dd2026-10-14
  • R24-11rel:R24-11#2e4120f42026-10-14
  • R25-11rel:R25-11#3059e6d82026-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

دالة GetSubscriptionState [SWS_CM_12011]

ara::com::SubscriptionState GetSubscriptionState () const noexcept;

Query ara::com::SubscriptionState of an event.

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::SubscriptionStateThe state of the subscription (as per [SWS_CM_12008]).

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

Record
AUTOSAR/AP/record/SWS_CM_12011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12011@rel:R25-11#3a3fff01
Content hash
3a3fff01
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12011
Status: valid/unmigrated Version: rel:R25-11#dec03137 Versionshistorie & Revisions (1 transition, 4 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_12011@rel:R25-11#dec03137
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#83254be02026-09-30
  • R23-11rel:R23-11#ca04b0b12026-10-14
  • R24-11rel:R24-11#504de02a2026-10-14
  • R25-11rel:R25-11#dec031372026-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

دالة Send [SWS_CM_00162] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00121

ara::core::Result< void > Send (<SSampleDerivedType> data) noexcept;

Send event where the application is responsible for the data. The Communication Management creates a copy of the data to send and sends it to all subscribing applications.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b00b88b264c7 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة [SWS_CM_00162] من جانب موفر الخدمة ضمن <SI-Namespace>::skeleton::events::<Event> لإرسال بيانات الأحداث إلى جميع التطبيقات المشتركة. وفي هذا البديل، تظل مسؤولية تخصيص البيانات بالكامل على عاتق التطبيق المستخدم. ويتم تمرير كائن البيانات عبر المعلمة data، وبناءً عليه يقوم تنفيذ الربط بإنشاء نسخة داخلية أثناء الاستدعاء (ARAComAPI, Figure 6.17 «BrakeEvent Class»). وبعد عودة استدعاء الدالة المتزامن، يمكن للتطبيق تعديل منطقة الذاكرة الأصلية أو تحريرها مباشرةً.

تم الإعلان عن الدالة مع noexcept وحُددت بأنها آمنة من الاستثناءات. وتُرجع ara::core::Result<void> يحتوي على void في حالة النجاح، ويبلغ عن رموز أخطاء من [SWS_CM_10432] في حالة الخطأ ([SWS_CM_00162]):

  • ComErrc::kServiceNotOffered: يحدث إذا لم يكن مثيل الخدمة قد تم تقديمه بعد عبر OfferService().
  • ComErrc::kMinimumSendIntervalViolationError: يحدث إذا تم إرسال طلب الإرسال بشكل أسرع من الحد الأدنى لفاصل الإرسال المُكوَّن (ServiceInterfaceDeploymentElement.minimumSendInterval).

على عكس بديل النسخ الصفري (Zero-Copy) [SWS_CM_90437]، الذي يتطلب مؤشرات من النوع ara::com::SampleAllocateePtr تم الحصول عليها عبر Allocate()، لا يتطلب هذا الاستدعاء ربط الذاكرة بإطار العمل. وينطبق سلوك النقل نفسه وشروط الخطأ نفسها وفقًا لـ [SWS_CM_00119] أيضًا على دالة التحديث Update للحقول.

تم توليد ملاحظة الاستخدام هذه تلقائياً بناءً على المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
dataThe data to send out to the subscribed applications.

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kServiceNotOfferedrollback_semantics Service has not yet been offered via OfferService()
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_00162
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00162@rel:R25-11#591efd64
Content hash
591efd64
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00162
Status: valid/unmigrated Version: rel:R25-11#ba1342ed 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_00162@rel:R25-11#ba1342ed
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#862d13312026-09-30
  • R19-11rel:R19-11#13bfaa4c2026-10-14
  • R20-11rel:R20-11#1f8e5ce62026-10-14
  • R21-11rel:R21-11#dda704792026-10-14
  • R22-11rel:R22-11#d72ec9682026-10-14
  • R23-11rel:R23-11#eda889842026-10-14
  • R24-11rel:R24-11#ec951a632026-10-14
  • R25-11rel:R25-11#ba1342ed2026-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

دالة Send [SWS_CM_90437] Upstream: RS_CM_00201, RS_AP_00114, RS_AP_00121

ara::core::Result< void > Send (ara::com::SampleAllocateePtr< Sample Type > data) noexcept;

Send event where Communication Management is responsible for the data. The data is allocated using Allocate(). The application is not allowed to access the data after Communication Management sends it to all subscribing applications.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b8026be0eee1 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

يتم استدعاء الدالة Send على نسخة حدث في هيكل الخدمة الأساسي (<SI-Namespace>::skeleton::events::<Event>) ([SWS_CM_90437]). وتقوم بنقل بيانات الحدث التي تتولى Communication Management مسؤولية إدارة ذاكرتها. يجب أن يكون المعامل data من النوع ara::com::SampleAllocateePtr<SampleType> قد تم الحصول عليه مسبقاً عبر Allocate() ([SWS_CM_90437]). يتصرف نوع المؤشر هذا دلالياً مثل std::unique_ptr، مما يؤدي إلى انتقال ملكية البيانات إلى طبقة الاتصال عند الاستدعاء (ARAComAPI §6.17 «BrakeEvent Class»). وبعد التسليم، يُحظر على التطبيق المرسِل أي وصول إضافي إلى البيانات ([SWS_CM_90437]).

معالجة الأخطاء والشروط الحدية

تم التصريح عن الدالة بأنها noexcept وتُرجع ara::core::Result<void> ([SWS_CM_90437]). وإذا فشل الإرسال، فإن النتيجة تتضمن رمز خطأ من ara::com::ComErrc ([SWS_CM_10432]):

  • ComErrc::kServiceNotOffered: الخدمة المرتبطة لم يتم توفيرها مسبقاً باستخدام OfferService() ([SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: الفاصل الزمني الأدنى للإرسال (minimumSendInterval) المكوَّن لعنصر الخدمة لم ينقضِ بعد منذ آخر عملية إرسال ([SWS_CM_90437]).

كلتا حالتي الخطأ تمتلكان دلالة التراجع (Rollback) ([SWS_CM_90437]). لذلك يجب بالضرورة أن تكون الخدمة قد قُدمت قبل الاستدعاء، كما يجب أن تلتزم استدعاءات الإرسال المتتالية بالفاصل الأدنى المكوَّن.

التفاعل والتحسين

بالمقارنة مع البنية التوقيعية [SWS_CM_00162]، التي يتم فيها تمرير بيانات مدارة من قبل التطبيق ونسخها بواسطة Communication Management، تهدف هذه النسخة إلى الاتصال دون نسخ (Zero-Copy) عبر الذاكرة المشتركة (Shared Memory) (ARAComAPI §6.18 «Event Allocate/Send sample»). ويُشترط في ذلك وجود مزامنة صارمة بين الكُتّاب والقرّاء، مع مراعاة متطلبات التسلسل (Serialization) المحتملة بين أطراف الاتصال (ARAComAPI §6.18 «Event Allocate/Send sample»).

ملاحظة: تم إنشاء ملاحظة الاستخدام هذه تلقائياً بناءً على حالة المواصفة R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
datathe data to send.

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type containing a void • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kServiceNotOfferedrollback_semantics Service has not yet been offered via OfferService()
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_90437
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90437@rel:R25-11#42f4c098
Content hash
42f4c098
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90437
Status: valid/unmigrated Version: rel:R25-11#b7d5aba8 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_90437@rel:R25-11#b7d5aba8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#396a1de42026-09-30
  • R19-11rel:R19-11#943893002026-10-14
  • R20-11rel:R20-11#a05235692026-10-14
  • R21-11rel:R21-11#928b87cd2026-10-14
  • R22-11rel:R22-11#7fc4ccbc2026-10-14
  • R23-11rel:R23-11#7b2bb5e12026-10-14
  • R24-11rel:R24-11#0010eeba2026-10-14
  • R25-11rel:R25-11#b7d5aba82026-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

دالة SetSubscriptionStateChangeHandler [SWS_CM_12008]

void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler) noexcept;

Set/Register ara::com::SubscriptionState change handler

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

الاستخدام

تسجل الدالة SetSubscriptionStateChangeHandler في نطاق الهيكل (skeleton::events) معالج رد نداء لمراقبة حالة الاشتراك لحدث ما [SWS_CM_12008]. ويجب أن تكون المعلمة handler كائنًا قابلًا للاستدعاء وفقًا للنوع SubscriptionStateChangeHandler طبقًا لـ [SWS_CM_00311]. ولا تُرجع الطريقة أي قيمة ومحددة بصفة noexcept [SWS_CM_12008].

تستدعي Communication Management المعالج المسجل بمجرد أن تتغير حالة الاشتراك للحدث [SWS_CM_12012]. وفي جانب الهيكل، يحدث هذا مع الحالة kSubscribed بمجرد أن يصبح عدد الاشتراكات النشطة أكبر من صفر [SWS_CM_12013]، أو مع kNotSubscribed عندما لا تعود هناك اشتراكات نشطة [SWS_CM_12014] SWS CommunicationManagement §7.5.4 «Query Service Event Subscription State on Skeleton side».

معالجة الأخطاء والتزامن

صُنفت العملية كـ exception safe [SWS_CM_12008]. وإذا كان الـ Callable الممرر غير صالح أو فارغًا (null)، فإن ذلك يُعد InvalidHandlerViolation [SWS_CM_12008]. التفسير: نظرًا لأن الدالة لا تطرح استثناءات ولا ترجع رمز خطأ، فيُرجح اعتراض هذا الانتهاك للمواصفة عبر آليات وقت التشغيل الخاصة بالمنصة. سؤال Q-a7b7b54f0d538b40 (مفتوح)

يُسمح بإعادة كتابة المعالج أثناء وقت التشغيل [SWS_CM_12012]. وللتنفيذ في سياق مؤشر ترابط مخصص أو سياق مهام مخصص، يتوفر التحميل الزائد مع معلمة القالب executor [SWS_CM_12009]. وتحدد [SWS_CM_01110] تسجيلًا مماثلًا لعناصر مشغل الهيكل.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerThe handler (as per [SWS_CM_00311]) that shall be called by Communication Management as soon as the ara::com:: SubscriptionState of the event has changed.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12008
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12008@rel:R25-11#a8f5cc1f
Content hash
a8f5cc1f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12008
Status: valid/unmigrated Version: rel:R25-11#e64cfb4e Versionshistorie & Revisions (1 transition, 4 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_12008@rel:R25-11#e64cfb4e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#5a03f4292026-09-30
  • R23-11rel:R23-11#d6b69d732026-10-14
  • R24-11rel:R24-11#a914158e2026-10-14
  • R25-11rel:R25-11#e64cfb4e2026-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

دالة SetSubscriptionStateChangeHandler [SWS_CM_12009]

template <typename ExecutorT> void SetSubscriptionStateChangeHandler (ara::com::SubscriptionState ChangeHandler handler, ExecutorT &&executor) noexcept;

As per [SWS_CM_12008] but the method shall execute in a provided context

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

تُستخدم دالة القالب SetSubscriptionStateChangeHandler على مستوى الهيكل ([SWS_CM_12009]) في مساحة اسم حدث ما لتسجيل رد نداء لتغيرات حالة الاشتراكات الواردة. وبالمقارنة مع الدالة الأساسية الخالية من المنفذ ([SWS_CM_12008])، فإنها تقبل بالإضافة إلى ذلك سياق تنفيذ (executor) يتم فيه تنفيذ المُعالج المسجل ([SWS_CM_12009]). لا تمتلك الدالة أية قيمة إرجاع، وأُعلن عنها على أنها noexcept وتُعد آمنة من الاستثناءات ([SWS_CM_12009]).

فيما يتعلق بسلوك الخطأ، يؤدي تمرير كائن قابل للاستدعاء غير صالح أو ذي قيمة فارغة إلى InvalidHandlerViolation ([SWS_CM_12009]). يمكن استبدال المُعالج المسجل في أي وقت أثناء تشغيل التطبيق من خلال استدعاء جديد ([SWS_CM_12012]).

يستدعي Communication Management المُعالج بمجرد تغير حالة الاشتراكات للحدث المعني (SWS CommunicationManagement §7.5.4 «Query Service Event Subscription State on Skeleton side»، [SWS_CM_12012]):

  • يتم الاستدعاء بالحالة kSubscribed عندما يرتفع عدد الاشتراكات النشطة من صفر إلى أكثر من صفر ([SWS_CM_12013]).
  • إذا انخفض عدد المشتركين النشطين إلى الصفر مجددًا، يتم إخطار المُعالج بـ kNotSubscribed ([SWS_CM_12014]).

تفسير: من المرجح أن يؤدي تمرير executor إلى ربط تنفيذ المُعالج تحديدًا بسياقات الخيوط أو التوزيع الخاصة بالتطبيق ([SWS_CM_12009])، وذلك لفصل الإشعار المتزامن لكود الهيكل بصورة نظيفة عن خيوط الاتصال الداخلية. سؤال Q-b11f3bc97069f2ec (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات الإصدار R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Template-Parameter

ParameterBeschreibung
ExecutorTAs per [SWS_CM_11360]

Parameter (in)

ParameterBeschreibung
handlerAs per [SWS_CM_12008]
executorAs per [SWS_CM_11360]

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12009
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12009@rel:R25-11#c355a18d
Content hash
c355a18d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12009
Status: valid/unmigrated Version: rel:R25-11#2c78e37d Versionshistorie & Revisions (1 transition, 4 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_12009@rel:R25-11#2c78e37d
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#9ab0c0f92026-09-30
  • R23-11rel:R23-11#35fb91a02026-10-14
  • R24-11rel:R24-11#7040342f2026-10-14
  • R25-11rel:R25-11#2c78e37d2026-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

دالة UnsetSubscriptionStateChangeHandler [SWS_CM_12010]

void UnsetSubscriptionStateChangeHandler () noexcept;

Unset/Deregister the ara::com::SubscriptionState change handler

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

تُستخدم الدالة UnsetSubscriptionStateChangeHandler على مستوى الهيكل الأساسي (Skeleton) في مساحة الأسماء ::skeleton::events::{<event-name>} لإلغاء تسجيل معالج تغييرات الحالة المسجل مسبقاً لـ ara::com::SubscriptionState الخاص بحدث ما [SWS_CM_12010]. لا تقبل الدالة أي معاملات تمرير ولا تُرجع قيمة (void) [SWS_CM_12010]. ويتم التضمين عبر ملف الترويسة #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" [SWS_CM_12010].

فيما يتعلق بسلوك الاستثناءات، تم التصريح عن الدالة باستخدام noexcept وتحديدها كآمنة ضد الاستثناءات (exception safe) [SWS_CM_12010]. لا يتم إرجاع رموز خطأ محددة ولا يتم إطلاق استثناءات C++ [SWS_CM_12010]. تفسير: يُرجح أن يتم اعتراض أي حالات خطأ داخلية أثناء إلغاء التسجيل داخلياً بواسطة إدارة الاتصالات، نظراً لأن البنية التوقيعية لا تنص على أي إشعار بالأخطاء. سؤال Q-7e986a15e552ca19 (مفتوح)

بالتفاعل مع الواجهات ذات الصلة، توجد دوال مماثلة لإلغاء تسجيل المعالج:

  • على مستوى الهيكل الأساسي (Skeleton)، توفر ::skeleton::triggers::{<trigger-name>}::UnsetSubscriptionStateChangeHandler إمكانية إلغاء التسجيل المقابلة للمُطلِقات [SWS_CM_01112].
  • على مستوى الوكيل، توجد دوال مكافئة لإلغاء تسجيل معالجات تغييرات الحالة للأحداث [SWS_CM_00334]، والحقول [SWS_CM_11609]، وكذلك المُطلِقات [SWS_CM_01108] ضمن مساحة الأسماء proxy AUTOSAR_AP_EXP_ARAComAPI §5.3.1 «Proxy Class API’s».

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى حالة المواصفة AUTOSAR Adaptive Release R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_12010
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_12010@rel:R25-11#050472f3
Content hash
050472f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_12010
Status: valid/unmigrated Version: rel:R25-11#05477f97 Versionshistorie & Revisions (1 transition, 4 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_12010@rel:R25-11#05477f97
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e1b9df132026-09-30
  • R23-11rel:R23-11#0217aa9b2026-10-14
  • R24-11rel:R24-11#1066f1922026-10-14
  • R25-11rel:R25-11#05477f972026-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

توثيق أسماء الأنواع البديلة

اسم نوع بديل SampleType [SWS_CM_11400] Upstream: RS_CM_00201, RS_AP_00114

using SampleType = <SSampleCppidt>;

Data type for the value of an event sample (the CppImplementationDataType of the Event, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via the indirection of a DataTypeMap)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: events::<Event>
SymbolSampleType

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

Record
AUTOSAR/AP/record/SWS_CM_11400
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11400@rel:R25-11#701a777a
Content hash
701a777a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11400
Status: valid/unmigrated Version: rel:R25-11#6376c0a1 Versionshistorie & Revisions (1 transition, 5 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_11400@rel:R25-11#6376c0a1
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#6078d79a2026-09-30
  • R22-11rel:R22-11#9e7787d62026-10-14
  • R23-11rel:R23-11#9e7787d62026-10-14
  • R24-11rel:R24-11#b98c990b2026-10-14
  • R25-11rel:R25-11#6376c0a12026-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