DEENESPTFRRUARHIKOZHNL

klasse <SI-Namespace>::skeleton:: events::<Event>

User GuideAI-GEGENEREERD

Stelt serviceproviders in staat om serverzijde gebeurtenissen te verzenden naar abonnerende applicaties.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 61a657b4f5c6 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stelt serviceproviders in staat om serverzijde gebeurtenissen te verzenden naar abonnerende applicaties.

De klasse <SI-Namespace>::skeleton::events::<Event> dient voor serviceproviders op het AUTOSAR Adaptive Platform om gebeurtenisgegevens te publiceren naar abonnerende applicaties. Gebeurtenissen kunnen hetzij op basis van kopiëren, hetzij efficiënt zonder kopie via vooraf met Allocate() gealloceerde buffers worden verzonden ([SWS_CM_90438]). De verzendaanroep via Send() vereist dwingend dat de bijbehorende service-instantie voordien met succes is aangeboden en dat het geconfigureerde minimale verzendinterval wordt nageleefd ([SWS_CM_00162]).

Context

De klasse <SI-Namespace>::skeleton::events::<Event> vertegenwoordigt de serverzijdige interface voor het publiceren van gebeurtenissen van een service binnen het AUTOSAR Adaptive Platform. Zij stelt een servicetoepassing (skeleton) in staat om bijgewerkte gebeurtenisgegevens van het type SampleType ([SWS_CM_11400]) asynchroon te verzenden naar alle abonnerende clientapplicaties ([SWS_CM_00162]). Het skeleton communiceert daarbij rechtstreeks met de communicatielaag (Communication Management), die het vinden van service-instanties en de fysieke distributie van de gebeurtenisgegevens verzorgt. Naast het verzenden van gegevens bewaakt de event-instantie de actuele abonnementsstatus en meldt wijzigingen in de abonneekring aan de serviceprovider ([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

Contextdiagram: interactie van de Event-klasse met serviceprovider, Communication Management en abonnees. Bronnen: [SWS_CM_00162], [SWS_CM_90437], [SWS_CM_12011]

Levenscyclus

De instantiëring van de Event-klasse vindt plaats in samenhang met de bovenliggende skeleton-service-instantie. Vermoedelijk is de levensduur van de Event-instantie vast gekoppeld aan de levensduur van het skeleton, zodat een event-object pas na de constructie van de service bruikbaar wordt en eindigt met de vernietiging ervan. Vraag Q-4e733f93c853a3eb (open) Voorafgaand aan een actieve gegevensoverdracht moet de service zijn aangeboden, aangezien overdrachtspogingen vóór het service-aanbod mislukken ([SWS_CM_00162]).

Tijdens de operationele fase weerspiegelt de instantie de toestand van de abonneeverbindingen. Via GetSubscriptionState() kan de actuele status worden opgevraagd ([SWS_CM_12011]). Voor een asynchrone reactie op toestandsveranderingen registreert de applicatie via SetSubscriptionStateChangeHandler() een bijbehorende callback ([SWS_CM_12008]), optioneel gekoppeld aan een specifieke uitvoeringscontext via een executor-object ([SWS_CM_12009]). Bij beëindiging of herconfiguratie van de service kan deze handler via UnsetSubscriptionStateChangeHandler() weer worden gederegistreerd ([SWS_CM_12010]). Alle statusopvragingen en handlermethoden zijn gedeclareerd als noexcept en garanderen uitzonderingsveiligheid ([SWS_CM_12008], [SWS_CM_12011]).

Gebruikspad

Voor het publiceren van event-gegevens heeft de servicetoepassing in principe twee overdrachtsmodi ter beschikking: op kopiëren gebaseerde overdracht en de zero-copy-methode via beheerd geheugen (EXP ara::com API p. 10).

Bij het reguliere gebruikspad registreert de serviceprovider desgewenst eerst een callback voor abonnementswijzigingen ([SWS_CM_12008]). Zodra er abonnees aanwezig zijn, genereert de applicatie ofwel lokale gegevens en geeft deze per waarde door aan Send() ([SWS_CM_00162]), waarbij Communication Management een kopie van de gegevens maakt en doorstuurt naar alle abonnees (EXP ara::com API p. 10).

Als alternatief vraagt de applicatie ter vermijding van kopieerkosten via Allocate() rechtstreeks een geheugenbuffer in de vorm van een ara::com::SampleAllocateePtr<SampleType> aan bij de communicatielaag ([SWS_CM_90438], EXP ara::com API p. 10). Na het vullen van de buffer wordt deze via de gespecialiseerde overbelasting van Send() overgedragen ([SWS_CM_90437]). Interpretatie: bij het verzenden gaat het eigendomsrecht op het geheugen vermoedelijk volledig over naar Communication Management, aangezien het de applicatie na de aanroep uitdrukkelijk verboden is om nog toegang te hebben tot de gegevens ([SWS_CM_90437]). Vraag Q-86aba8c6f9bf42e9 (open)

Verloop van de event-overdracht op het skeletonAnwendung (Skeleton)Event-ObjektCommunication ManagementUse Case: Handler-RegistrierungSetSubscriptionStateChangeHandler(handler)Abonnement-Handler registrierenUse Case: Variant 1: zero-copy-overdracht met AllocateAllocate()Speicherpuffer reservierenSampleAllocateePtrSampleAllocateePtrPufferdaten schreibenSend(ptr)Gegevens overdragen aan abonneesResult<void>Result<void>Use Case: Variant 2: op kopiëren gebaseerde overdrachtSend(data)Kopie maken en overdragenResult<void>Result<void>

Sequentiediagram: typisch verloop van de event-overdracht inclusief handler-registratie en allocatie. Bronnen: [SWS_CM_12008], [SWS_CM_90438], [SWS_CM_90437], [SWS_CM_00162]

Foutscenario's

Aanroepen van Send() retourneren een ara::core::Result<void>, dat in geval van een fout een bijbehorende foutcode van het type ara::com::ComErrc bevat ([SWS_CM_00162], [SWS_CM_90437]). Tot de gedefinieerde foutgevallen behoren:

  • ComErrc::kServiceNotOffered: de service was vóór de verzendpoging nog niet beschikbaar gesteld via OfferService() ([SWS_CM_00162], [SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: het voor het event geconfigureerde minimale verzendinterval (minimumSendInterval) werd onderschreden doordat verzendaanroepen elkaar te snel opvolgden ([SWS_CM_00162], [SWS_CM_90437]).

Bovendien moeten bij de allocatie en handler-configuratie precondities in acht worden genomen:

  • Allocate() is niet uitzonderingsveilig (not exception safe) en leidt bij ontoereikende geheugenbronnen tot een SampleAllocationViolation respectievelijk bij ontoelaatbaar gebruik van door de gebruiker gedefinieerde allocators tot een AllocateUsageViolation ([SWS_CM_90438]).
  • SetSubscriptionStateChangeHandler() vereist een geldig, aanroepbaar functie-object; als een null-waardige of niet-bestaande handler wordt doorgegeven, resulteert dit in een InvalidHandlerViolation ([SWS_CM_12008], [SWS_CM_12009]).

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11.

Ledenkaart

Klassendiagram

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()

Detailweergave

Kies een item in de inhoudsopgave.

Methoden

Allocate functie

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 functie 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.

Overloads 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

Overloads 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;

Type-aliassen

SampleType typealias

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>;

Documentatie van de methoden

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: fc3608719061 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De methode Allocate wordt op skeletonniveau voor een event aangeroepen ([SWS_CM_90438]; AUTOSAR_AP_EXP_ARAComAPI §5.4.1 “Skeleton Class API’s”) om geheugen voor de overdracht van eventgegevens te alloceren wanneer het Communication Management (ara::com) verantwoordelijk is voor het beheer van de gegevens ([SWS_CM_90438]). Ze levert een instantie van het type ara::com::SampleAllocateePtr<SampleType> op ([SWS_CM_90438]). Dit pointertype gedraagt zich conceptueel als een std::unique_ptr<T>, zodat op elk moment slechts één partij eigenaar van de pointer is (ARAComAPI §6 “Event Allocate/Send sample Binding implementer hint”).

Wat betreft foutafhandeling en uitzonderingsveiligheid is Allocate gespecificeerd als not exception safe ([SWS_CM_90438]). De specificatie definieert twee mogelijke overtredingen (violations):

  • SampleAllocationViolation: Er zijn onvoldoende geheugenbronnen beschikbaar om de gegevens te alloceren ([SWS_CM_90438]).
  • AllocateUsageViolation: De allocatie vond ontoelaatbaarderwijs plaats via een door de gebruiker gedefinieerde allocator ([SWS_CM_90438]).

Het concept achter Allocate is primair gericht op de ondersteuning van zero-copy-mechanismen, met name bij op shared memory gebaseerd IPC-transport, waarbij een strikte synchronisatie tussen lezers en schrijvers wordt verondersteld (ARAComAPI §6 “Event Allocate/Send sample Binding implementer hint”). Implementeerders moeten er rekening mee houden dat serialisatievereisten zero-copy teniet kunnen doen indien gegevenstypen bij de deployment niet binair compatibel geconfigureerd zijn of detectielogica dit uitsluit (ARAComAPI §6 “Event Allocate/Send sample Binding implementer hint”).

In interactie met het verzenden van events wordt de via Allocate verkregen geheugenpointer doorgegeven aan Send(ara::com::SampleAllocateePtr<SampleType> data) ([SWS_CM_90437]). Na de aanroep van Send mag de servicetoepassing geen toegang meer hebben tot de gegevens zodra het Communication Management de gegevens naar alle abonnerende applicaties verzendt ([SWS_CM_90437]).

Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificatiedocumenten van de AUTOSAR-release R25-11.

Implementer's Guide volgt (complexiteit 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#d42acc89
Content hash
d42acc89
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

functie 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#eab0d748
Content hash
eab0d748
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

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b00b88b264c7 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie [SWS_CM_00162] dient aan service-provider-zijde binnen <SI-Namespace>::skeleton::events::<Event> voor het verzenden van event-gegevens naar alle abonnende applicaties. Bij deze variant blijft de verantwoordelijkheid voor de data-allocatie volledig bij de toepassende applicatie. Via de parameter data wordt het data-object meegegeven, waarna de binding-implementatie tijdens de aanroep een interne kopie maakt (ARAComAPI, Figure 6.17 “BrakeEvent Class”). Na terugkeer van de synchrone methode-aanroep kan de applicatie het oorspronkelijke geheugengebied direct wijzigen of vrijgeven.

De methode is gedeclareerd met noexcept en gespecificeerd als uitzonderingsveilig. Deze geeft een ara::core::Result<void> terug, die in geval van succes void bevat en in geval van een fout foutcodes uit [SWS_CM_10432] meldt ([SWS_CM_00162]):

  • ComErrc::kServiceNotOffered: Treedt op wanneer de service-instantie nog niet via OfferService() beschikbaar is gesteld.
  • ComErrc::kMinimumSendIntervalViolationError: Treedt op wanneer het verzendverzoek sneller dan het geconfigureerde minimale verzendinterval (ServiceInterfaceDeploymentElement.minimumSendInterval) is verstuurd.

In tegenstelling tot het zero-copy-alternatief [SWS_CM_90437], dat via Allocate() verkregen pointers van het type ara::com::SampleAllocateePtr vereist, vereist deze aanroep geen geheugenbinding aan het framework. Ditzelfde overdrachtsgedrag en dezelfde foutvoorwaarden gelden conform [SWS_CM_00119] ook voor de updatemethode Update van fields.

Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie.

Implementer's Guide volgt (complexiteit 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#9ef8c2cd
Content hash
9ef8c2cd
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

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b8026be0eee1 Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik en aanroepcontext

De methode Send wordt aangeroepen op een event-instantie in het service-skeleton (<SI-Namespace>::skeleton::events::<Event>) ([SWS_CM_90437]). Deze draagt event-data over voor het geheugenbeheer waarvan Communication Management verantwoordelijk is. De parameter data van het type ara::com::SampleAllocateePtr<SampleType> moet vooraf verkregen zijn via Allocate() ([SWS_CM_90437]). Dit pointertype gedraagt zich semantisch als een std::unique_ptr, waardoor het eigendom van de data bij de aanroep overgaat naar de communicatielaag (ARAComAPI §6.17 “BrakeEvent Class”). Na de overdracht is elke verdere toegang tot de data door de zendende applicatie verboden ([SWS_CM_90437]).

Foutafhandeling en randvoorwaarden

De functie is gedeclareerd als noexcept en retourneert een ara::core::Result<void> ([SWS_CM_90437]). Mislukt het verzenden, dan bevat het resultaat een foutcode uit ara::com::ComErrc ([SWS_CM_10432]):

  • ComErrc::kServiceNotOffered: De bijbehorende service is vooraf nog niet beschikbaar gesteld met OfferService() ([SWS_CM_90437]).
  • ComErrc::kMinimumSendIntervalViolationError: Het voor het service-element geconfigureerde minimale zendinterval (minimumSendInterval) is sinds de laatste overdracht nog niet verstreken ([SWS_CM_90437]).

Beide foutgevallen hebben rollback-semantiek ([SWS_CM_90437]). Voorafgaand aan de aanroep moet de service daarom dwingend zijn aangeboden, en opeenvolgende zendaanroepen moeten de geconfigureerde minimumafstand aanhouden.

Interactie en optimalisatie

In vergelijking met de signatuur [SWS_CM_00162], waarbij applicatiebeheerde data worden overgedragen en door Communication Management worden gekopieerd, richt deze variant zich op zero-copy-communicatie via shared memory (ARAComAPI §6.18 “Event Allocate/Send sample”). Daarbij wordt een strikte synchronisatie tussen schrijvers en lezers verondersteld, waarbij rekening moet worden gehouden met mogelijke serialisatievereisten tussen de communicatiepartners (ARAComAPI §6.18 “Event Allocate/Send sample”).

Opmerking: Deze gebruiksinstructie is geautomatiseerd opgesteld op basis van de specificatiestand R25-11.

Implementer's Guide volgt (complexiteit 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#d5616467
Content hash
d5616467
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

functie SetSubscriptionStateChangeHandler [SWS_CM_12008]

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

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ae7a884485e1 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Gebruik

De functie SetSubscriptionStateChangeHandler registreert in de skeleton-scope (skeleton::events) een callback-handler voor het bewaken van de subscriptiestatus van een event [SWS_CM_12008]. De parameter handler moet een aanroepbaar object zijn volgens type SubscriptionStateChangeHandler conform [SWS_CM_00311]. De methode levert geen retourwaarde op en is gespecificeerd als noexcept [SWS_CM_12008].

Communication Management roept de geregistreerde handler aan zodra de subscriptiestatus van het event verandert [SWS_CM_12012]. Aan de skeleton-zijde gebeurt dit met de toestand kSubscribed zodra het aantal actieve abonnementen groter dan nul wordt [SWS_CM_12013], resp. met kNotSubscribed wanneer er geen actieve subscripties meer aanwezig zijn [SWS_CM_12014] SWS CommunicationManagement §7.5.4 “Query Service Event Subscription State on Skeleton side”.

Foutafhandeling en gelijktijdigheid

De bewerking is geclassificeerd als exception safe [SWS_CM_12008]. Als het overgedragen callable ongeldig of null is, is er sprake van een InvalidHandlerViolation [SWS_CM_12008]. Interpretatie: Aangezien de functie noch excepties werpt noch een foutcode retourneert, zal deze specificatieovertreding vermoedelijk via platformspecifieke runtimemechanismen worden opgevangen. Vraag Q-a7b7b54f0d538b40 (open)

De handler mag tijdens runtime worden overschreven [SWS_CM_12012]. Voor uitvoering in een dedicated thread- resp. taakcontext bestaat de overload met de template-parameter executor [SWS_CM_12009]. Een analoge registratie voor trigger-elementen van het skeleton wordt gedefinieerd door [SWS_CM_01110].

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie.

Implementer's Guide volgt (complexiteit 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#dc589ee9
Content hash
dc589ee9
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

functie 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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: db9c8806b4e9 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De template-functie SetSubscriptionStateChangeHandler dient op skeleton-niveau ([SWS_CM_12009]) in de namespace van een event voor de registratie van een callback voor statuswijzigingen van inkomende abonnementen. Ten opzichte van de basisfunctie zonder executor ([SWS_CM_12008]) accepteert deze tevens een uitvoeringscontext (executor) waarin de geregistreerde handler wordt uitgevoerd ([SWS_CM_12009]). De functie heeft geen retourwaarde, is gedeclareerd als noexcept en geldt als uitzonderingsveilig ([SWS_CM_12009]).

Wat betreft het foutgedrag leidt het meegeven van een ongeldige of null-waardige callable tot een InvalidHandlerViolation ([SWS_CM_12009]). De geregistreerde handler kan tijdens runtime van de applicatie op elk moment worden overschreven door een hernieuwde aanroep ([SWS_CM_12012]).

Communication Management roept de handler aan zodra de status van de abonnementen voor het desbetreffende event verandert (SWS CommunicationManagement §7.5.4 “Query Service Event Subscription State on Skeleton side”, [SWS_CM_12012]):

  • De aanroep vindt plaats met de status kSubscribed wanneer het aantal actieve abonnementen stijgt van nul naar meer dan nul ([SWS_CM_12013]).
  • Daalt het aantal actieve abonnees weer naar nul, dan wordt de handler met kNotSubscribed geïnformeerd ([SWS_CM_12014]).

Interpretatie: door de overdracht van executor wordt de uitvoering van de handler vermoedelijk gericht gebonden aan applicatie-eigen thread- of dispatching-contexten ([SWS_CM_12009]), om de gelijktijdige notificatie van de skeleton-code netjes te scheiden van interne communicatie-threads. Vraag Q-b11f3bc97069f2ec (open)

Deze tekst is opgesteld door een AI en is gebaseerd op de specificaties van release R25-11.

Implementer's Guide volgt (complexiteit 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#4f8a949f
Content hash
4f8a949f
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

functie UnsetSubscriptionStateChangeHandler [SWS_CM_12010]

void UnsetSubscriptionStateChangeHandler () noexcept;

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

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 7e38e0032e54 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De functie UnsetSubscriptionStateChangeHandler dient op skeleton-niveau in de namespace ::skeleton::events::{<event-name>} om een eerder geregistreerde statuswijzigingshandler voor de ara::com::SubscriptionState van een event te deregistreren [SWS_CM_12010]. De functie accepteert geen overdrachtsparameters en levert geen retourwaarde op (void) [SWS_CM_12010]. Het invoegen geschiedt via de header #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h" [SWS_CM_12010].

Wat betreft het uitzonderingsgedrag is de methode gedeclareerd met noexcept en gespecificeerd als uitzonderingsveilig (exception safe) [SWS_CM_12010]. Er worden geen specifieke foutcodes geretourneerd of C++-excepties geworpen [SWS_CM_12010]. Interpretatie: Eventuele interne fouttoestanden bij de deregistratie worden vermoedelijk intern door het communicatiebeheer afgevangen, aangezien de signatuur niet voorziet in een foutterugmelding. Vraag Q-7e986a15e552ca19 (open)

In interactie met gerelateerde interfaces bestaan er analoge functies voor handler-deregistratie:

Deze tekst is opgesteld door een AI en is gebaseerd op de specificatiestand AUTOSAR Adaptive Release R25-11.

Implementer's Guide volgt (complexiteit 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#c37d7537
Content hash
c37d7537
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

Documentatie van de typealiassen

typealias 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#26017960
Content hash
26017960
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