Service proxy fire-and-forget method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget==TRUE) defined in the ServiceInterface in the role method.
Permite la invocación no confirmada de métodos unidireccionales de una interfaz de servicio sin valor devuelto a nivel de cliente.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c09dd8b0ab24ProcedenciaPreguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Permite la invocación no confirmada de métodos unidireccionales de una interfaz de servicio sin valor devuelto a nivel de cliente.
La clase proxy permite a la aplicación cliente disparar invocaciones no confirmadas de métodos para operaciones de servicio con semántica Fire-and-Forget [SWS_CM_90435]. Al invocar el operador de función, se transmiten los parámetros de entrada sin que se genere un valor de retorno o un future de respuesta para un resultado. Al mismo tiempo, en cada invocación del método se ejecuta la protección de extremo a extremo, cuyo estado de verificación actual puede consultarse por separado [SWS_CM_00147]. Una invocación se realiza con seguridad frente a excepciones, pero falla en caso de derechos de acceso insuficientes con una violación de autorización.
Contexto
La clase <SI-Namespace>::proxy::methods::<FnFMethod> representa un método Fire-and-Forget en el lado del cliente o del proxy en la gestión de comunicaciones de AUTOSAR Adaptive Platform [SWS_CM_90435]. En una arquitectura orientada a servicios, existe exactamente una instancia de este tipo en el rol de proxy para cada operación definida en la interfaz (ClientServerOperation) en la que esté especificado ClientServerOperation.fireAndForget == TRUE[SWS_CM_90435], SWS CommunicationManagement §8.3.4.1.2.1 «operator()».
Su responsabilidad principal reside en la recepción de argumentos de invocación y su reenvío a la capa de transporte. A diferencia de las invocaciones bidireccionales síncronas o asíncronas, que notifican al invocador a través de un ara::core::Future y transportan posibles errores de aplicación [SWS_CM_00197], una invocación Fire-and-Forget no exige ni una respuesta ni una confirmación del lado del servidor. Los participantes en la interacción comprenden la aplicación cliente invocadora, la instancia del método del proxy de servicio y el binding de comunicación posterior, incluida la protección E2E.
Diagrama de contexto: componentes y relaciones de interfaz de la clase de método Fire-and-Forget del proxy. Fuentes: [SWS_CM_90435], [SWS_CM_00147]
Ciclo de vida
La declaración de la clase se efectúa dentro del archivo de cabecera generado #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" en el ámbito jerárquico <SI-Namespace>::proxy::methods::<FnFMethod>[SWS_CM_90435]. Es probable que la vida útil de la instancia del método esté vinculada a la vida útil del objeto proxy de servicio superior (interpretación: el método se crea y destruye como subobjeto junto con el proxy de servicio). Pregunta Q-9ee6da68f325c3d0 (abierta)
Más allá de la mera invocación, la clase posee un estado interno relativo a la protección E2E (End-to-End-Protection). Este estado E2E se determina en cada invocación de método a través de la función E2E_Check() y puede consultarse mediante GetE2EStateMachineState(), la cual devuelve el valor de estado de tipo ara::com::e2e::SMState[SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState». Todas las funciones miembro están declaradas como noexcept[SWS_CM_00147], [SWS_CM_90435]; en caso de invocación simultánea desde múltiples hilos, es probable que se requiera una sincronización externa si el binding no garantiza la reentrancia. Pregunta Q-e59aae09676d76c2 (abierta)
Ruta de uso
El flujo típico para el uso de un método Fire-and-Forget comprende los siguientes pasos:
Provisión del proxy: la aplicación instancia u obtiene el proxy de servicio generado a través de la interfaz de cabecera definida [SWS_CM_90435].
Ejecutar la invocación del método: la aplicación invoca el objeto de método mediante operator() pasando los parámetros de entrada [SWS_CM_90435]. La función no devuelve ningún valor (void) y retorna de inmediato sin esperar una reacción del servidor SWS CommunicationManagement §8.3.4.1.2.1 «operator()».
Actualización E2E: durante la invocación de operator(), el middleware realiza internamente la comprobación de protección E2E_Check() y actualiza la máquina de estados interna [SWS_CM_00147].
Diagrama de secuencias: secuencia de interacción típica al invocar un método Fire-and-Forget y posterior consulta de estado. Fuentes: [SWS_CM_90435], [SWS_CM_00147]
Escenarios de error
Tanto operator() como GetE2EStateMachineState() son seguros frente a excepciones (exception safe) y están declarados como noexcept[SWS_CM_00147], [SWS_CM_90435]. Por lo tanto, no se desencadenan excepciones de C++.
En caso de falta de derechos de acceso, se aplica el control de autorizaciones (Grant Enforcement): si el contexto invocador carece de los permisos necesarios, la invocación es denegada y se registra una InsufficientPermissionsViolation[SWS_CM_90435].
Dado que no se produce ningún retorno a través de un ara::core::Future y las operaciones Fire-and-Forget no admiten la transmisión de un ApApplicationError ni de un ara::core::ErrorCode[SWS_CM_00197], los fallos de transmisión no se comunican al invocador. Los posibles errores en la seguridad de los datos o en el canal de transmisión se manifiestan exclusivamente en el estado de la máquina de estados E2E, que puede diagnosticarse a través de GetE2EStateMachineState()[SWS_CM_00147].
Esta guía se basa en la especificación AUTOSAR Adaptive Platform Release R25-11 y describe el funcionamiento de la clase de método Fire-and-Forget del proxy.
Diagrama de clases UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
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()
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()
gemini-3.8-flash-low· 2026-10-13 · Original en alemán