DEENESPTFRRUARHIKOZHNL

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

[SWS_CM_00006] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114

class <Method> final {...};

Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) 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 asynchronen Aufruf von Service-Methoden mit Rückgabewert sowie die Prüfung des End-to-End-Status.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 90f1e995b658 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht den asynchronen Aufruf von Service-Methoden mit Rückgabewert sowie die Prüfung des End-to-End-Status.

Die Proxy-Methodenklasse <SI-Namespace>::proxy::methods::<Method> ermöglicht Client-Anwendungen die Durchführung von Methodenaufrufen mit Rückgabewert für im ServiceInterface definierte Client-Server-Operationen [SWS_CM_00196]. Der Aufruf erfolgt nicht-blockierend über operator(), welcher unmittelbar ein ara::core::Future zur flexiblen synchronen oder asynchronen Ergebnisabfrage zurückgibt [SWS_CM_00196]. Ergänzend erlaubt GetE2EStateMachineState() das Auslesen des Schutzstatus der zugehörigen End-to-End-Zustandsmaschine [SWS_CM_00148]. Da die Operationen als ausnahmesicher spezifiziert sind, werden Übertragungs- und Laufzeitfehler über das Future mit standardisierten Fehlercodes gemeldet.

Kontext

Die Klasse <SI-Namespace>::proxy::methods::<Method> stellt die clientseitige Schnittstelle für synchrone und asynchrone Methodenaufrufe innerhalb des AUTOSAR Adaptive Kommunikationsmanagements dar. Für jede im ServiceInterface deklarierte Client-Server-Operation, bei der das Attribut ClientServerOperation.fireAndForget == FALSE konfiguriert ist, generiert das Kommunikations-Framework genau eine eigene Proxy-Methodenklasse in der Rolle einer Methode. Die Klasse ist als final deklariert und über den Header #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" eingebunden SWS Communication Management, S. 39. Als direkte Interaktionspartner fungieren die aufrufende Client-Anwendung sowie das Network Binding, welches die Methodenübertragung an die entfernte Service-Instanz weiterleitet und deren Rückmeldung entgegennimmt [SWS_CM_00196]. Die Proxy-Methode nimmt die Aufrufparameter entgegen und kapselt den asynchronen Ablauf über ein ara::core::Future-Objekt, über das der Client den Abschluss und das Ergebnis des Aufrufs abfragt.

Lebenszyklus

Die Instanziierung von <SI-Namespace>::proxy::methods::<Method> erfolgt im Verbund mit dem übergeordneten Service-Proxy. Interpretation: Die Methodenklasse dürfte als fester Bestandteil des generierten Proxy-Objekts zusammen mit diesem instanziiert und zerstört werden, weshalb der Anwender die Instanz nicht separat allokiert. Frage Q-546c9b1bceedef6b (offen) Bezüglich der Nebenläufigkeit ist der Methodenaufruf über operator() nicht-blockierend ausgelegt; die Funktion initiiert die Übertragung und kehrt unverzüglich zum Aufrufer zurück [SWS_CM_00196]. Ein zentraler Zustand der Instanz ist die Absicherung durch End-to-End-Mechanismen (E2E). Über die Methode GetE2EStateMachineState() kann die Anwendung den aktuellen Status der methodenspezifischen Zustandsmaschine (ara::com::e2e::SMState) ermitteln [SWS_CM_00148]. Dieser Zustand wird durch die interne Prüffunktion E2E_Check() bestimmt, die während der Abarbeitung des letzten Aufrufs von operator() ausgeführt wird [SWS_CM_00148], SWS Communication Management, S. 55. Interpretation: Die Zustandsaktualisierung der E2E-Zustandsmaschine dürfte asynchron mit dem Eintreffen und Prüfen der Antwortnachricht wirksam werden. Frage Q-283a9927420e2952 (offen)

Nutzungspfad

Die typische Aufrufreihenfolge umfasst die Initiierung des Methodenaufrufs, die Synchronisation auf das Ergebnis sowie die anschließende Integritätsprüfung:

  1. Aufruf auslösen: Die Client-Anwendung ruft das Funktionsobjekt über operator() mit den deklarierten Eingabeparametern auf [SWS_CM_00196], [SWS_CM_00191].
  2. Unmittelbare Rückkehr: Der Aufruf blockiert den anfragenden Thread nicht, sondern gibt unverzüglich ein Objekt vom Typ ara::core::Future<Output> zurück [SWS_CM_00196].
  3. Ergebnisabfrage: Der Aufrufer entscheidet autonom über synchrones Warten (z. B. über das Future-Objekt) oder eine asynchrone Überwachung auf die Beendigung des Aufrufs [SWS_CM_00196]. Bei erfolgreichem Abschluss liefert das Future das Output-Objekt mit den Antwortwerten [SWS_CM_00196], [SWS_CM_99333].
  4. E2E-Schutzstatus prüfen: Nach Beendigung des Aufrufs kann die Anwendung über GetE2EStateMachineState() den Zustand der E2E-Zustandsmaschine abfragen, um die Gültigkeit der Datenübertragung sicherzustellen [SWS_CM_00148].
Ablauf eines Proxy-MethodenaufrufsClientmethods::<Method>Future<Output>Server / Bindingoperator()(args)Methodenaufruf übertragenara::core::Future<Output>Antwortdaten bereitstellenE2E_Check() aktualisiert E2E-Statusget() / Ergebnis abfragenOutput oder FehlerGetE2EStateMachineState()ara::com::e2e::SMState

Sequenzdiagramm: Typischer Ablauf eines Methodenaufrufs mit asynchroner Rückgabe über Future und nachfolgender E2E-Statusabfrage. Quellen: [SWS_CM_00196], [SWS_CM_00148].

Fehlerszenarien

Die Operationen operator() und GetE2EStateMachineState() sind als ausnahmesicher (exception safe) spezifiziert und mit noexcept deklariert [SWS_CM_00148], [SWS_CM_00196]. Kommunikations- und Bereitstellungsfehler werden daher nicht über C++-Exceptions gemeldet, sondern über das resultierende ara::core::Future-Objekt transportiert, das im Fehlerfall ein entsprechendes ara::core::FutureErrc bzw. Fehlercodes kapselt [SWS_CM_00196]. Spezifizierte Fehlerursachen sind unter anderem:

  • CommunicationFailure: Das Network Binding meldet einen behebbaren Kommunikationsfehler oder das Scheitern einer abgesicherten Verbindung; bei Kommunikations-Timeouts kann dies zu einem ungewissen Zustand auf dem entfernten Server führen [SWS_CM_00196].
  • ComErrc::kServiceNotAvailable: Die Service-Instanz ist nach vorheriger Bereitstellung nicht mehr erreichbar [SWS_CM_00196].
  • ComErrc::kUnknownApplicationError: Ein entfernter Dienst meldet einen nicht konfigurierten Anwendungsfehler [SWS_CM_00196].
  • ComE2EErrc::kUnspecifiedE2EError: Der Remote-Service meldet einen unspezifizierten End-to-End-Fehler [SWS_CM_00196].
  • ComErrc::kMinimumSendIntervalViolationError: Die Aufrufanforderung erfolgte schneller als das für das Schnittstellenelement konfigurierte minimale Sendeintervall minimumSendInterval zulässt [SWS_CM_00196].
  • Berechtigungsverletzung (InsufficientPermissionsViolation): Fehlen dem Aufrufer erforderliche Berechtigungen, wird die Ausführung durch die Grant Enforcement verweigert [SWS_CM_00196].

Für diese Anwendungs- und Kommunikationsfehler sind gemäß Spezifikation Rollback-Semantiken (rollback_semantics) hinterlegt [SWS_CM_00196].

Dieser Leitfaden basiert ausschließlich auf den Spezifikationsvorgaben von AUTOSAR Adaptive Release R25-11.

Mitgliederkarte

Operatoren

1

Eingebettete Typen

1

Klassendiagramm

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

G n_SI_Namespace___proxy__methods___Method_320 <Method> + GetE2EStateMachineState() + operator()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Returns the state of the specific method 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 method call (ClientServerOperation. fireAndForget ==FALSE). The method call will return immediately. The caller’s selection of a synchronous or asynchronous behavior to get the method output is achieved by the use of the returned ara::core::Future object which is used to query for method completion and result including possible error.

ara::core::Future< Output > operator() ( {<p-method-in-arg-derived-type-0toN>} {<p-method-in-arg-symbol-0toN>}) noexcept;

Eingebettete Typen

Output class

Dokumentation der Methoden

function GetE2EStateMachineState [SWS_CM_00148] Upstream: RS_CM_00224, RS_E2E_08534

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

Returns the state of the specific method 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::<Method>
Exception-Sicherheitexception safe

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CM_00148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00148@rel:R25-11#6f69a7c8
Content hash
6f69a7c8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00148
Status: valid/unmigrated Version: rel:R25-11#6f69a7c8 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_00148@rel:R25-11#6f69a7c8
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_00196] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

ara::core::Future< Output > operator() ( {<p-method-in-arg-derived-type-0toN>} {<p-method-in-arg-symbol-0toN>}) noexcept;

Initiate a method call (ClientServerOperation. fireAndForget ==FALSE). The method call will return immediately. The caller’s selection of a synchronous or asynchronous behavior to get the method output is achieved by the use of the returned ara::core::Future object which is used to query for method completion and result including possible error.

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

Parameter (in)

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

Rückgabewert

TypBeschreibung
ara::core::Future<Output >• If successful: an ara::core::Future containing a Output object as per [SWS_CM_99333] • If unsuccessful: an ara::core::Future containing a corresponding ara::core::FutureErrc

Fehler

FehlercodeBeschreibung
CommunicationFailureThe network binding reported a recoverable communications error or a secure communication failure. In case of a communication timeout this could lead to an uncertain state on the remote server side.
ComErrc::kUnknownApplicationErrorrollback_semantics A remote service returned an unconfigured application error.
ComErrc::kServiceNotAvailablerollback_semantics Service is not available after being previously offered via Offer Service()
ComE2EErrc::kUnspecifiedE2EErrorrollback_semantics A remote service returned an unspecified E2E error.
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_00196
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00196@rel:R25-11#9ff3657d
Content hash
9ff3657d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00196
Status: valid/unmigrated Version: rel:R25-11#52e964c2 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_00196@rel:R25-11#52e964c2
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9ff3657d2026-09-30
  • R19-11rel:R19-11#f1ab8f5a2026-10-14
  • R20-11rel:R20-11#371fca132026-10-14
  • R21-11rel:R21-11#3b7e8fe92026-10-14
  • R22-11rel:R22-11#83f6c51d2026-10-14
  • R23-11rel:R23-11#354539802026-10-14
  • R24-11rel:R24-11#666c03b72026-10-14
  • R25-11rel:R25-11#52e964c22026-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