DEENESPTFRRUARHIKOZHNL

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

Guide utilisateurGÉNÉRÉ PAR IA

Permet l'appel asynchrone de méthodes de service avec valeur de retour ainsi que la vérification de l'état End-to-End.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 90f1e995b658 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet l'appel asynchrone de méthodes de service avec valeur de retour ainsi que la vérification de l'état End-to-End.

La classe de méthode proxy <SI-Namespace>::proxy::methods::<Method> permet aux applications clientes d'exécuter des appels de méthode avec valeur de retour pour les opérations client-serveur définies dans ServiceInterface [SWS_CM_00196]. L'appel s'effectue de manière non bloquante via operator(), qui renvoie immédiatement un ara::core::Future pour une interrogation flexible, synchrone ou asynchrone, du résultat [SWS_CM_00196]. De plus, GetE2EStateMachineState() permet de lire l'état de protection de la machine d'état End-to-End associée [SWS_CM_00148]. Les opérations étant spécifiées comme étant sûres vis-à-vis des exceptions, les erreurs de transmission et d'exécution sont signalées via Future avec des codes d'erreur standardisés.

Contexte

La classe <SI-Namespace>::proxy::methods::<Method> constitue l'interface côté client pour les appels de méthode synchrones et asynchrones au sein de la gestion de la communication AUTOSAR Adaptive. Pour chaque opération client-serveur déclarée dans ServiceInterface pour laquelle l'attribut ClientServerOperation.fireAndForget == FALSE est configuré, le framework de communication génère précisément une classe de méthode proxy propre dans le rôle d'une méthode. La classe est déclarée comme final et incluse via l'en-tête #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" SWS Communication Management, p. 39. L'application cliente appelante ainsi que le Network Binding, qui transmet le transfert de la méthode à l'instance de service distante et reçoit sa réponse [SWS_CM_00196], agissent comme partenaires d'interaction directs. La méthode proxy reçoit les paramètres d'appel et encapsule le déroulement asynchrone au moyen d'un objet ara::core::Future via lequel le client interroge l'achèvement et le résultat de l'appel.

Cycle de vie

L'instanciation de <SI-Namespace>::proxy::methods::<Method> s'effectue conjointement avec le service proxy parent. Interprétation : la classe de méthode devrait être instanciée et détruite conjointement avec l'objet proxy généré en tant que partie intégrante de celui-ci, raison pour laquelle l'utilisateur n'alloue pas l'instance séparément. Question Q-546c9b1bceedef6b (ouverte) Concernant la concurrence, l'appel de méthode via operator() est conçu pour être non bloquant ; la fonction initie la transmission et retourne immédiatement à l'appelant [SWS_CM_00196]. Un état central de l'instance réside dans la protection par des mécanismes End-to-End (E2E). L'application peut déterminer l'état actuel de la machine d'état spécifique à la méthode (ara::com::e2e::SMState) via la méthode GetE2EStateMachineState() [SWS_CM_00148]. Cet état est déterminé par la fonction de vérification interne E2E_Check(), qui est exécutée pendant le traitement du dernier appel de operator() [SWS_CM_00148], SWS Communication Management, p. 55. Interprétation : la mise à jour de l'état de la machine d'état E2E devrait devenir effective de manière asynchrone avec l'arrivée et la vérification du message de réponse. Question Q-283a9927420e2952 (ouverte)

Parcours d'utilisation

L'ordre d'appel typique comprend l'initiation de l'appel de méthode, la synchronisation sur le résultat ainsi que le contrôle d'intégrité subséquent :

  1. Déclencher l'appel : l'application cliente appelle l'objet fonction via operator() avec les paramètres d'entrée déclarés [SWS_CM_00196], [SWS_CM_00191].
  2. Retour immédiat : l'appel ne bloque pas le thread demandeur, mais renvoie immédiatement un objet de type ara::core::Future<Output> [SWS_CM_00196].
  3. Interrogation du résultat : l'appelant décide de manière autonome d'une attente synchrone (par exemple via l'objet Future) ou d'une surveillance asynchrone de l'achèvement de l'appel [SWS_CM_00196]. En cas d'achèvement avec succès, Future fournit l'objet Output contenant les valeurs de réponse [SWS_CM_00196], [SWS_CM_99333].
  4. Vérifier l'état de protection E2E : après l'achèvement de l'appel, l'application peut interroger l'état de la machine d'état E2E via GetE2EStateMachineState() afin de garantir la validité de la transmission de données [SWS_CM_00148].
Déroulement d'un appel de méthode de proxyClientmethods::<Method>Future<Output>Server / Bindingoperator()(args)Transmettre l'appel de méthodeara::core::Future<Output>Antwortdaten bereitstellenE2E_Check() aktualisiert E2E-Statusget() / Ergebnis abfragenOutput ou erreurGetE2EStateMachineState()ara::com::e2e::SMState

Diagramme de séquence : déroulement typique d'un appel de méthode avec retour asynchrone via Future et interrogation subséquente de l'état E2E. Sources : [SWS_CM_00196], [SWS_CM_00148].

Scénarios d'erreur

Les opérations operator() et GetE2EStateMachineState() sont spécifiées comme étant sûres vis-à-vis des exceptions (exception safe) et sont déclarées avec noexcept [SWS_CM_00148], [SWS_CM_00196]. Les erreurs de communication et de mise à disposition ne sont donc pas signalées par des exceptions C++, mais transportées via l'objet ara::core::Future résultant, qui encapsule en cas d'erreur un ara::core::FutureErrc correspondant ou des codes d'erreur [SWS_CM_00196]. Les causes d'erreur spécifiées comprennent notamment :

  • CommunicationFailure : le Network Binding signale une erreur de communication récupérable ou l'échec d'une connexion sécurisée ; en cas de dépassement de délai de communication, cela peut conduire à un état incertain sur le serveur distant [SWS_CM_00196].
  • ComErrc::kServiceNotAvailable : l'instance de service n'est plus accessible après avoir été mise à disposition [SWS_CM_00196].
  • ComErrc::kUnknownApplicationError : un service distant signale une erreur d'application non configurée [SWS_CM_00196].
  • ComE2EErrc::kUnspecifiedE2EError : le service distant signale une erreur End-to-End non spécifiée [SWS_CM_00196].
  • ComErrc::kMinimumSendIntervalViolationError : la demande d'appel a été effectuée plus rapidement que ne l'autorise l'intervalle d'émission minimal minimumSendInterval configuré pour l'élément d'interface [SWS_CM_00196].
  • Violation de droits (InsufficientPermissionsViolation) : si l'appelant ne dispose pas des autorisations requises, l'exécution est refusée par le Grant Enforcement [SWS_CM_00196].

Des sémantiques de retour arrière (rollback_semantics) sont définies conformément à la spécification pour ces erreurs applicatives et de communication [SWS_CM_00196].

Ce guide repose exclusivement sur les exigences de spécification d'AUTOSAR Adaptive Release R25-11.

Carte des membres

Opérateurs

1

Types imbriqués

1

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Méthodes

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;

Opérateurs

operator fonction

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;

Types imbriqués

Output classe

Documentation des méthodes

fonction 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#12f0a676
Content hash
12f0a676
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

fonction 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#535740e7
Content hash
535740e7
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