DEENESPTFRRUARHIKOZHNL

class <SI-Namespace>::proxy::methods::<FnFMethod>

[SWS_CM_99332] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114

class <FnFMethod> {...};

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

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

User GuideKI-GENERIERT

Ermöglicht den unbestätigten Aufruf von Einweg-Methoden einer Service-Schnittstelle ohne Rückgabewert auf Client-Ebene.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: c09dd8b0ab24 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht den unbestätigten Aufruf von Einweg-Methoden einer Service-Schnittstelle ohne Rückgabewert auf Client-Ebene.

Die Proxy-Klasse ermöglicht der Client-Anwendung das Auslösen unbestätigter Methodenaufrufe für Service-Operationen mit Fire-and-Forget-Semantik [SWS_CM_90435]. Beim Aufruf des Funktionsoperators werden die Eingabeparameter übermittelt, ohne dass ein Rückgabewert oder ein Antwort-Future für ein Ergebnis erzeugt wird. Gleichzeitig wird bei jedem Methodenaufruf die Ende-zu-Ende-Absicherung ausgeführt, deren aktueller Prüfzustand separat abgefragt werden kann [SWS_CM_00147]. Ein Aufruf erfolgt ausnahmesicher, scheitert jedoch bei unzureichenden Zugriffsrechten mit einer Berechtigungsverletzung.

Kontext

Die Klasse <SI-Namespace>::proxy::methods::<FnFMethod> repräsentiert eine Fire-and-Forget-Methode auf der Client- bzw. Proxy-Seite im Kommunikationsmanagement der AUTOSAR Adaptive Platform [SWS_CM_90435]. In einer serviceorientierten Architektur existiert für jede in der Schnittstelle definierte Operation (ClientServerOperation), bei der ClientServerOperation.fireAndForget == TRUE festgelegt ist, genau eine solche Instanz in der Proxy-Rolle [SWS_CM_90435], SWS CommunicationManagement §8.3.4.1.2.1 „operator()“.

Ihre Kernverantwortung liegt in der Entgegennahme von Aufrufargumenten und deren Weiterleitung an die Übertragungsschicht. Anders als bei synchronen oder asynchronen bidirektionalen Aufrufen, die den Aufrufer über ein ara::core::Future benachrichtigen und etwaige Anwendungsfehler transportieren [SWS_CM_00197], verlangt ein Fire-and-Forget-Aufruf weder eine Antwort noch eine Bestätigung der Serverseite. Die Interaktionspartner umfassen die aufrufende Client-Anwendung, die Methodeninstanz des Service-Proxys sowie das nachgelagerte Kommunikations-Binding inklusive der E2E-Absicherung.

Client Client-Anwendung FnFMethod proxy::methods::<FnFMethod> Client->FnFMethod operator() Client->FnFMethod GetE2EStateMachineState() Binding Kommunikations-Binding / E2E FnFMethod->Binding E2E_Check() & Übertragung

Kontextdiagramm: Komponenten und Schnittstellenbeziehungen der Proxy-Fire-and-Forget-Methodenklasse. Quellen: [SWS_CM_90435], [SWS_CM_00147]

Lebenszyklus

Die Deklaration der Klasse erfolgt innerhalb der generierten Header-Datei #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" im hierarchischen Scope <SI-Namespace>::proxy::methods::<FnFMethod> [SWS_CM_90435]. Die Lebensdauer der Methodeninstanz dürfte an die Lebensdauer des übergeordneten Service-Proxy-Objekts gekoppelt sein (Interpretation: Die Methode wird als Subobjekt zusammen mit dem Service-Proxy erzeugt und zerstört). Frage Q-9ee6da68f325c3d0 (offen)

Über den reinen Aufruf hinaus besitzt die Klasse einen internen Status bezüglich des E2E-Schutzes (End-to-End-Protection). Dieser E2E-Zustand wird bei jedem Methodenaufruf über die Funktion E2E_Check() ermittelt und kann über GetE2EStateMachineState() abgefragt werden, welche den Statuswert vom Typ ara::com::e2e::SMState liefert [SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 „GetE2EStateMachineState“. Sämtliche Elementfunktionen sind als noexcept deklariert [SWS_CM_00147], [SWS_CM_90435]; bei gleichzeitigem Aufruf aus mehreren Threads dürfte eine externe Synchronisation erforderlich sein, falls das Binding keine Reentrancy garantiert. Frage Q-e59aae09676d76c2 (offen)

Nutzungspfad

Der typische Ablauf zur Nutzung einer Fire-and-Forget-Methode umfasst folgende Schritte:

Ablauf eines Fire-and-Forget-MethodenaufrufsClient-Anwendungproxy::methods::<FnFMethod>Kommunikations-Binding / E2Eoperator()({in-args})E2E_Check() & SendeübertragungRückkehr (void)GetE2EStateMachineState()ara::com::e2e::SMState

Sequenzdiagramm: Typische Interaktionsreihenfolge beim Aufruf einer Fire-and-Forget-Methode und anschließender Statusabfrage. Quellen: [SWS_CM_90435], [SWS_CM_00147]

Fehlerszenarien

Sowohl operator() als auch GetE2EStateMachineState() sind ausnahmesicher (exception safe) und als noexcept deklariert [SWS_CM_00147], [SWS_CM_90435]. Es werden daher keine C++-Ausnahmen ausgelöst.

Bei fehlenden Zugriffsrechten greift die Rechteprüfung (Grant Enforcement): Fehlen dem aufrufenden Kontext die notwendigen Berechtigungen, wird der Aufruf verweigert und eine InsufficientPermissionsViolation registriert [SWS_CM_90435].

Da keine Rückgabe über ein ara::core::Future erfolgt und Fire-and-Forget-Operationen keine Übermittlung eines ApApplicationError oder ara::core::ErrorCode unterstützen [SWS_CM_00197], werden Übertragungsfehler nicht an den Aufrufer zurückgemeldet. Etwaige Fehler in der Datensicherheit oder im Übertragungskanal manifestieren sich ausschließlich im Zustand der E2E-Zustandsmaschine, der über GetE2EStateMachineState() diagnostiziert werden kann [SWS_CM_00147].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11 und beschreibt die Funktionsweise der Proxy-Fire-and-Forget-Methodenklasse.

UML-Klassendiagramm

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

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

Methoden

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

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

Operatoren

operator function

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

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

Dokumentation der Methoden

function GetE2EStateMachineState [SWS_CM_00147] Upstream: RS_CM_00224, RS_E2E_08534

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

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

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

Rückgabewert

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

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

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

function operator [SWS_CM_90435] Upstream: RS_CM_00225, RS_AP_00114, RS_AP_00120

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

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

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

Parameter (in)

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

Rückgabewert

TypBeschreibung
None

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

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