DEENESPTFRRUARHIKOZHNL

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

Guía del usuarioGENERADO POR IA

Permite la llamada asíncrona a métodos de servicio con valor de retorno, así como la verificación del estado End-to-End.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 90f1e995b658 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite la llamada asíncrona a métodos de servicio con valor de retorno, así como la verificación del estado End-to-End.

La clase de método proxy <SI-Namespace>::proxy::methods::<Method> permite a las aplicaciones cliente realizar llamadas a métodos con valor de retorno para operaciones cliente-servidor definidas en ServiceInterface [SWS_CM_00196]. La llamada se realiza de manera no bloqueante a través de operator(), que devuelve inmediatamente un ara::core::Future para la consulta flexible, sincrónica o asincrónica, del resultado [SWS_CM_00196]. De forma complementaria, GetE2EStateMachineState() permite leer el estado de protección de la máquina de estados End-to-End asociada [SWS_CM_00148]. Dado que las operaciones están especificadas como seguras frente a excepciones, los errores de transmisión y de tiempo de ejecución se notifican a través de Future con códigos de error estandarizados.

Contexto

La clase <SI-Namespace>::proxy::methods::<Method> representa la interfaz del lado cliente para llamadas a métodos sincrónicas y asincrónicas dentro de la gestión de la comunicación de AUTOSAR Adaptive. Para cada operación cliente-servidor declarada en ServiceInterface en la que esté configurado el atributo ClientServerOperation.fireAndForget == FALSE, el marco de comunicación genera exactamente una clase de método proxy propia en el rol de un método. La clase está declarada como final e incluida a través del encabezado #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" SWS Communication Management, p. 39. Como interlocutores de interacción directos actúan la aplicación cliente llamadora y el Network Binding, el cual reenvía la transmisión del método a la instancia de servicio remota y recibe su respuesta [SWS_CM_00196]. El método proxy acepta los parámetros de llamada y encapsula el flujo asíncrono a través de un objeto ara::core::Future, mediante el cual el cliente consulta la finalización y el resultado de la llamada.

Ciclo de vida

La instanciación de <SI-Namespace>::proxy::methods::<Method> se produce junto con el proxy de servicio de nivel superior. Interpretación: se asume que la clase de método, como parte integrante del objeto proxy generado, se instancia y destruye junto con este, por lo que el usuario no asigna la instancia por separado. Pregunta Q-546c9b1bceedef6b (abierta) En cuanto a la concurrencia, la llamada al método a través de operator() está diseñada para no ser bloqueante; la función inicia la transmisión y regresa inmediatamente al llamador [SWS_CM_00196]. Un estado central de la instancia es la protección mediante mecanismos End-to-End (E2E). Mediante el método GetE2EStateMachineState(), la aplicación puede determinar el estado actual de la máquina de estados específica del método (ara::com::e2e::SMState) [SWS_CM_00148]. Este estado se determina mediante la función de comprobación interna E2E_Check(), que se ejecuta durante el procesamiento de la última llamada de operator() [SWS_CM_00148], SWS Communication Management, p. 55. Interpretación: se asume que la actualización de estado de la máquina de estados E2E surte efecto de forma asíncrona con la llegada y verificación del mensaje de respuesta. Pregunta Q-283a9927420e2952 (abierta)

Ruta de uso

La secuencia típica de llamadas incluye la iniciación de la llamada al método, la sincronización con el resultado y la posterior comprobación de integridad:

  1. Activar llamada: la aplicación cliente invoca el objeto de función a través de operator() con los parámetros de entrada declarados [SWS_CM_00196], [SWS_CM_00191].
  2. Retorno inmediato: la llamada no bloquea el hilo solicitante, sino que devuelve inmediatamente un objeto de tipo ara::core::Future<Output> [SWS_CM_00196].
  3. Consulta del resultado: el llamador decide de forma autónoma entre la espera sincrónica (p. ej., a través del objeto Future) o la supervisión asincrónica de la finalización de la llamada [SWS_CM_00196]. En caso de finalización satisfactoria, Future proporciona el objeto Output con los valores de respuesta [SWS_CM_00196], [SWS_CM_99333].
  4. Comprobar estado de protección E2E: una vez finalizada la llamada, la aplicación puede consultar el estado de la máquina de estados E2E a través de GetE2EStateMachineState() para garantizar la validez de la transmisión de datos [SWS_CM_00148].
Flujo de una llamada a método de proxyClientmethods::<Method>Future<Output>Server / Bindingoperator()(args)Transmitir llamada a métodoara::core::Future<Output>Antwortdaten bereitstellenE2E_Check() aktualisiert E2E-Statusget() / Ergebnis abfragenOutput o errorGetE2EStateMachineState()ara::com::e2e::SMState

Diagrama de secuencia: flujo típico de una llamada a método con retorno asíncrono a través de Future y posterior consulta de estado E2E. Fuentes: [SWS_CM_00196], [SWS_CM_00148].

Escenarios de error

Las operaciones operator() y GetE2EStateMachineState() están especificadas como seguras frente a excepciones (exception safe) y declaradas con noexcept [SWS_CM_00148], [SWS_CM_00196]. Por lo tanto, los errores de comunicación y de provisión no se notifican a través de excepciones C++, sino que se transportan a través del objeto ara::core::Future resultante, que en caso de error encapsula un correspondiente ara::core::FutureErrc o códigos de error [SWS_CM_00196]. Entre las causas de error especificadas se incluyen:

  • CommunicationFailure: el Network Binding notifica un error de comunicación recuperable o el fallo de una conexión protegida; en caso de tiempos de espera agotados de comunicación, esto puede provocar un estado incierto en el servidor remoto [SWS_CM_00196].
  • ComErrc::kServiceNotAvailable: la instancia de servicio ya no es accesible tras haber estado disponible previamente [SWS_CM_00196].
  • ComErrc::kUnknownApplicationError: un servicio remoto notifica un error de aplicación no configurado [SWS_CM_00196].
  • ComE2EErrc::kUnspecifiedE2EError: el servicio remoto notifica un error End-to-End no especificado [SWS_CM_00196].
  • ComErrc::kMinimumSendIntervalViolationError: la solicitud de llamada se realizó más rápido de lo que permite el intervalo de transmisión mínimo configurado para el elemento de interfaz minimumSendInterval [SWS_CM_00196].
  • Infracción de permisos (InsufficientPermissionsViolation): si el llamador carece de los permisos necesarios, la Grant Enforcement deniega la ejecución [SWS_CM_00196].

Para estos errores de aplicación y de comunicación, según la especificación, se han definido semánticas de reversión (rollback_semantics) [SWS_CM_00196].

Esta guía se basa exclusivamente en las disposiciones de la especificación de AUTOSAR Adaptive Release R25-11.

Mapa de miembros

Operadores

1

Tipos anidados

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Métodos

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;

Operadores

operator función

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;

Tipos anidados

Output clase

Documentación de los métodos

función 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#e5172004
Content hash
e5172004
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

función 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#c3254209
Content hash
c3254209
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