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

Guia do utilizadorGERADO POR IA

Permite a chamada assíncrona de métodos de serviço com valor de retorno, bem como a verificação do estado End-to-End.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 90f1e995b658 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 assíncrona de métodos de serviço com valor de retorno, bem como a verificação do estado End-to-End.

A classe de método proxy <SI-Namespace>::proxy::methods::<Method> permite que aplicações cliente efetuem chamadas de método com valor de retorno para operações cliente-servidor definidas em ServiceInterface [SWS_CM_00196]. A chamada é efetuada de modo não bloqueante através de operator(), que retorna imediatamente um ara::core::Future para a consulta flexível, síncrona ou assíncrona, de resultados [SWS_CM_00196]. Complementarmente, GetE2EStateMachineState() permite a leitura do estado de proteção da máquina de estados End-to-End associada [SWS_CM_00148]. Dado que as operações estão especificadas como seguras contra exceções, os erros de transmissão e de execução são reportados através do Future com códigos de erro padronizados.

Contexto

A classe <SI-Namespace>::proxy::methods::<Method> representa a interface do lado do cliente para chamadas de método síncronas e assíncronas no âmbito do Communication Management do AUTOSAR Adaptive. Para cada operação cliente-servidor declarada em ServiceInterface na qual o atributo ClientServerOperation.fireAndForget == FALSE esteja configurado, o framework de comunicação gera exatamente uma classe de método proxy própria no papel de um método. A classe é declarada como final e incluída através do cabeçalho #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" SWS Communication Management, p. 39. Como parceiros diretos de interação atuam a aplicação cliente chamadora, bem como o Network Binding, que reencaminha a transmissão do método para a instância de serviço remota e recebe a sua resposta [SWS_CM_00196]. O método proxy recebe os parâmetros de chamada e encapsula o fluxo assíncrono através de um objeto ara::core::Future, através do qual o cliente consulta a conclusão e o resultado da chamada.

Ciclo de vida

A instanciação de <SI-Namespace>::proxy::methods::<Method> ocorre em conjunto com o proxy de serviço de nível superior. Interpretação: a classe de método deverá ser instanciada e destruída juntamente com o objeto proxy gerado, como parte integrante do mesmo, pelo que o utilizador não aloca a instância separadamente. Pergunta Q-546c9b1bceedef6b (aberta) Relativamente à concorrência, a chamada de método via operator() foi concebida para ser não bloqueante; a função inicia a transmissão e retorna imediatamente ao chamador [SWS_CM_00196]. Um estado central da instância é a proteção através de mecanismos End-to-End (E2E). Através do método GetE2EStateMachineState(), a aplicação pode determinar o estado atual da máquina de estados específica do método (ara::com::e2e::SMState) [SWS_CM_00148]. Este estado é determinado pela função interna de verificação E2E_Check(), que é executada durante o processamento da última chamada de operator() [SWS_CM_00148], SWS Communication Management, p. 55. Interpretação: a atualização do estado da máquina de estados E2E deverá tornar-se efetiva de forma assíncrona com a chegada e a verificação da mensagem de resposta. Pergunta Q-283a9927420e2952 (aberta)

Caminho de utilização

A sequência típica de chamadas compreende o desencadear da chamada do método, a sincronização com o resultado e a subsequente verificação de integridade:

  1. Disparar a chamada: a aplicação cliente chama o objeto de função através de operator() com os parâmetros de entrada declarados [SWS_CM_00196], [SWS_CM_00191].
  2. Retorno imediato: a chamada não bloqueia a thread solicitante, retornando imediatamente um objeto do tipo ara::core::Future<Output> [SWS_CM_00196].
  3. Consulta do resultado: o chamador decide autonomamente entre a espera síncrona (p. ex., através do objeto Future) ou a monitorização assíncrona da conclusão da chamada [SWS_CM_00196]. Em caso de conclusão bem-sucedida, o Future fornece o objeto Output com os valores de resposta [SWS_CM_00196], [SWS_CM_99333].
  4. Verificar o estado de proteção E2E: após a conclusão da chamada, a aplicação pode consultar o estado da máquina de estados E2E através de GetE2EStateMachineState(), para assegurar a validade da transmissão de dados [SWS_CM_00148].
Fluxo de uma chamada de método de proxyClientmethods::<Method>Future<Output>Server / Bindingoperator()(args)Transmitir chamada de métodoara::core::Future<Output>Antwortdaten bereitstellenE2E_Check() aktualisiert E2E-Statusget() / Ergebnis abfragenOutput ou erroGetE2EStateMachineState()ara::com::e2e::SMState

Diagrama de sequência: fluxo típico de uma chamada de método com retorno assíncrono através de Future e subsequente consulta de estado E2E. Fontes: [SWS_CM_00196], [SWS_CM_00148].

Cenários de erro

As operações operator() e GetE2EStateMachineState() estão especificadas como seguras contra exceções (exception safe) e declaradas com noexcept [SWS_CM_00148], [SWS_CM_00196]. Erros de comunicação e de disponibilização não são, portanto, reportados através de exceções C++, sendo antes transportados através do objeto ara::core::Future resultante, que em caso de erro encapsula um respetivo ara::core::FutureErrc ou códigos de erro [SWS_CM_00196]. Entre as causas de erro especificadas contam-se, nomeadamente:

  • CommunicationFailure: o Network Binding reporta um erro de comunicação recuperável ou a falha de uma ligação protegida; no caso de timeouts de comunicação, isto pode conduzir a um estado incerto no servidor remoto [SWS_CM_00196].
  • ComErrc::kServiceNotAvailable: a instância de serviço já não se encontra acessível após uma disponibilização prévia [SWS_CM_00196].
  • ComErrc::kUnknownApplicationError: um serviço remoto reporta um erro de aplicação não configurado [SWS_CM_00196].
  • ComE2EErrc::kUnspecifiedE2EError: o serviço remoto reporta um erro End-to-End não especificado [SWS_CM_00196].
  • ComErrc::kMinimumSendIntervalViolationError: a solicitação de chamada ocorreu mais depressa do que o intervalo de envio mínimo minimumSendInterval configurado para o elemento de interface permite [SWS_CM_00196].
  • Violação de permissões (InsufficientPermissionsViolation): caso faltem ao chamador as permissões necessárias, a execução é recusada pelo Grant Enforcement [SWS_CM_00196].

Para estes erros de aplicação e de comunicação estão definidas, de acordo com a especificação, semânticas de rollback (rollback_semantics) [SWS_CM_00196].

Este guia baseia-se exclusivamente nos requisitos de especificação do AUTOSAR Adaptive Release R25-11.

Mapa de membros

Operadores

1

Tipos aninhados

1

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no í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 função

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 aninhados

Output classe

Documentação dos métodos

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

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