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. Он позволяет сервисному приложению (скелетону) асинхронно передавать обновленные данные событий типа SampleType ([SWS_CM_11400]) всем подписанным клиентским приложениям ([SWS_CM_00162]). При этом скелетон напрямую взаимодействует с коммуникационным уровнем (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 происходит совместно с вышестоящим экземпляром сервиса скелетона. Предположительно, время жизни экземпляра Event жестко связано со временем жизни скелетона, так что объект события становится пригодным для использования только после конструирования сервиса и прекращает свое существование с его уничтожением. Вопрос 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 (открытый)

Последовательность передачи события на стороне SkeletonAnwendung (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() требует допустимого, вызываемого функционального объекта; если передан нулевой или несуществующий обработчик, это приводит к 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.

GetSubscriptionState функция

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 вызывается на уровне скелетона для события ([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-транспорте на основе разделяемой памяти (shared memory), при этом предполагается строгая синхронизация между читателями и писателями (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#e0b57326
Content hash
e0b57326
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#96a35010
Content hash
96a35010
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], которая требует полученных через Allocate() указателей типа ara::com::SampleAllocateePtr, данный вызов не требует привязки памяти к фреймворку. Такое же поведение передачи и те же условия ошибок действуют согласно [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#23285b84
Content hash
23285b84
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]).

Оба случая ошибок имеют семантику отката ([SWS_CM_90437]). Поэтому перед вызовом сервис обязательно должен быть предложен, а последовательные вызовы отправки должны соблюдать сконфигурированный минимальный интервал.

Взаимодействие и оптимизация

По сравнению с сигнатурой [SWS_CM_00162], при которой передаются данные под управлением приложения и копируются Communication Management, данный вариант нацелен на zero-copy-коммуникацию через разделяемую память (ARAComAPI §6.18 «Event Allocate/Send sample»). При этом предполагается строгая синхронизация между писателями и читателями, причем необходимо учитывать возможные требования к сериализации между участниками коммуникации (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#9b881e58
Content hash
9b881e58
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]. Если переданный вызываемый объект недействителен или равен 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#9089b304
Content hash
9089b304
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]) в пространстве имен события для регистрации callback на изменения состояния входящих подписок. По сравнению с базовой функцией без исполнителя ([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#1ee1eed5
Content hash
1ee1eed5
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::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::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#7e4e584e
Content hash
7e4e584e
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#513155a8
Content hash
513155a8
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