DEENESPTFRRUARHIKOZHNL

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

Guía del usuarioGENERADO POR IA

Permite la invocación no confirmada de métodos unidireccionales de una interfaz de servicio sin valor devuelto a nivel de cliente.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: c09dd8b0ab24 Procedencia Preguntas 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.

Client Aplicación cliente FnFMethod proxy::methods::<FnFMethod> Client->FnFMethod operator() Client->FnFMethod GetE2EStateMachineState() Binding Kommunikations-Binding / E2E FnFMethod->Binding E2E_Check() y transmisión

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].
  • Comprobación de estado (opcional): la aplicación puede inspeccionar mediante GetE2EStateMachineState() el estado resultante ara::com::e2e::SMState de la máquina de estados [SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState».
Flujo de una llamada a método fire-and-forgetAplicación clienteproxy::methods::<FnFMethod>Kommunikations-Binding / E2Eoperator()({in-args})E2E_Check() y transmisión de envíoretorno (void)GetE2EStateMachineState()ara::com::e2e::SMState

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.

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

Métodos

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;

Operadores

operator función

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;

Documentación de los métodos

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

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