DEENESPTFRRUARHIKOZHNL

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

Guia do utilizadorGERADO POR IA

Permite a chamada não confirmada de métodos unidirecionais de uma interface de serviço sem valor de retorno ao nível do cliente.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: c09dd8b0ab24 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite a chamada não confirmada de métodos unidirecionais de uma interface de serviço sem valor de retorno ao nível do cliente.

A classe proxy permite que a aplicação cliente dispare chamadas de método não confirmadas para operações de serviço com semântica fire-and-forget [SWS_CM_90435]. Ao chamar o operador de função, os parâmetros de entrada são transmitidos sem que um valor de retorno ou um future de resposta seja gerado para um resultado. Ao mesmo tempo, em cada chamada de método, a proteção ponta a ponta é executada, cujo estado de verificação atual pode ser consultado separadamente [SWS_CM_00147]. Uma chamada é segura quanto a exceções, mas falha com uma violação de autorização se os direitos de acesso forem insuficientes.

Contexto

A classe <SI-Namespace>::proxy::methods::<FnFMethod> representa um método fire-and-forget no lado do cliente ou do proxy no gerenciamento de comunicação da AUTOSAR Adaptive Platform [SWS_CM_90435]. Em uma arquitetura orientada a serviços, para cada operação definida na interface (ClientServerOperation) na qual ClientServerOperation.fireAndForget == TRUE está especificado, existe exatamente uma instância desse tipo na função de proxy [SWS_CM_90435], SWS CommunicationManagement §8.3.4.1.2.1 «operator()».

Sua responsabilidade principal reside no recebimento de argumentos de chamada e no seu encaminhamento para a camada de transmissão. Diferentemente das chamadas bidirecionais síncronas ou assíncronas, que notificam o chamador por meio de um ara::core::Future e transportam eventuais erros de aplicação [SWS_CM_00197], uma chamada fire-and-forget não exige resposta nem confirmação do lado do servidor. Os parceiros de interação incluem a aplicação cliente chamadora, a instância de método do proxy de serviço e o binding de comunicação subsequente, incluindo a proteção E2E.

Client Aplicação cliente FnFMethod proxy::methods::<FnFMethod> Client->FnFMethod operator() Client->FnFMethod GetE2EStateMachineState() Binding Kommunikations-Binding / E2E FnFMethod->Binding E2E_Check() & transmissão

Diagrama de contexto: componentes e relações de interface da classe de método proxy fire-and-forget. Fontes: [SWS_CM_90435], [SWS_CM_00147]

Ciclo de vida

A declaração da classe ocorre dentro do arquivo de cabeçalho gerado #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" no escopo hierárquico <SI-Namespace>::proxy::methods::<FnFMethod> [SWS_CM_90435]. O tempo de vida da instância de método deve estar vinculado ao tempo de vida do objeto de proxy de serviço superior (interpretação: o método é criado e destruído como um subobjeto juntamente com o proxy de serviço). Pergunta Q-9ee6da68f325c3d0 (aberta)

Além da chamada pura, a classe possui um estado interno referente à proteção E2E (End-to-End-Protection). Esse estado E2E é determinado a cada chamada de método por meio da função E2E_Check() e pode ser consultado via GetE2EStateMachineState(), que fornece o valor de status do tipo ara::com::e2e::SMState [SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState». Todas as funções-membro são declaradas como noexcept [SWS_CM_00147], [SWS_CM_90435]; em caso de chamadas simultâneas a partir de múltiplas threads, uma sincronização externa provavelmente será necessária se o binding não garantir reentrância. Pergunta Q-e59aae09676d76c2 (aberta)

Caminho de utilização

O fluxo típico para uso de um método fire-and-forget inclui as seguintes etapas:

  • Disponibilização do proxy: a aplicação instancia ou obtém o proxy de serviço gerado por meio da interface de cabeçalho definida [SWS_CM_90435].
  • Executar a chamada de método: a aplicação chama o objeto de método por meio de operator() passando os parâmetros de entrada [SWS_CM_90435]. A função não fornece valor de retorno (void) e retorna imediatamente sem aguardar uma reação do servidor SWS CommunicationManagement §8.3.4.1.2.1 «operator()».
  • Atualização de E2E: durante a chamada de operator(), o middleware executa internamente a verificação de proteção E2E_Check() e atualiza a máquina de estados interna [SWS_CM_00147].
  • Verificação de estado (opcional): a aplicação pode verificar por meio de GetE2EStateMachineState() o estado resultante ara::com::e2e::SMState da máquina de estados [SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState».
Fluxo de uma chamada de método fire-and-forgetAplicação clienteproxy::methods::<FnFMethod>Kommunikations-Binding / E2Eoperator()({in-args})E2E_Check() & transmissão de envioRetorno (void)GetE2EStateMachineState()ara::com::e2e::SMState

Diagrama de sequência: ordem típica de interação na chamada de um método fire-and-forget e posterior consulta de status. Fontes: [SWS_CM_90435], [SWS_CM_00147]

Cenários de erro

Tanto operator() quanto GetE2EStateMachineState() são seguros quanto a exceções (exception safe) e declarados como noexcept [SWS_CM_00147], [SWS_CM_90435]. Portanto, nenhuma exceção C++ é lançada.

Em caso de direitos de acesso ausentes, a imposição de permissões (Grant Enforcement) entra em ação: se faltarem as permissões necessárias ao contexto chamador, a chamada é recusada e um InsufficientPermissionsViolation é registrado [SWS_CM_90435].

Como não há retorno por meio de um ara::core::Future e as operações fire-and-forget não suportam a transmissão de um ApApplicationError ou ara::core::ErrorCode [SWS_CM_00197], os erros de transmissão não são reportados de volta ao chamador. Quaisquer falhas na segurança dos dados ou no canal de transmissão manifestam-se exclusivamente no estado da máquina de estados E2E, que pode ser diagnosticado por meio de GetE2EStateMachineState() [SWS_CM_00147].

Este guia é baseado na especificação AUTOSAR Adaptive Platform Release R25-11 e descreve o funcionamento da classe de métodos proxy fire-and-forget.

Diagrama de classes 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 função

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;

Documentação dos métodos

função 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#3f5cff5e
Content hash
3f5cff5e
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

função 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#eb6b2b7a
Content hash
eb6b2b7a
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