DEENESPTFRRUARHIKOZHNL

estrutura <SI-Namespace>::proxy::methods::<Method>::Output

[SWS_CM_99333] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

struct Output {...};

Structure wrapping the out arguments for a method

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Forwarding-Header#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy/<SiShortname>_proxy_fwd.h"
Scopeclass <SI-Namespace>::proxy::methods::<Method>

Guia do utilizadorGERADO POR IA

Encapsula, como estrutura de dados, os parâmetros de saída de um método de serviço invocado de forma assíncrona para o proxy receptor.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8153a94079af Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Encapsula, como estrutura de dados, os parâmetros de saída de um método de serviço invocado de forma assíncrona para o proxy receptor.

A estrutura <SI-Namespace>::proxy::methods::<Method>::Output encapsula os argumentos de saída de um método de serviço proxy da AUTOSAR Adaptive Platform ([SWS_CM_99333]). Em caso de sucesso, o chamador recebe a estrutura através de um ara::core::Future retornado, após sua resolução via get() ou GetResult() (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 «Struct: Output»). Se ocorrerem erros durante o processamento, nenhum objeto Output é criado; em vez disso, um código de erro é disponibilizado por meio do contexto do future. Ao destruir o objeto future, o cliente pode cancelar prematuramente uma chamada de método em andamento.

Contexto

A estrutura <SI-Namespace>::proxy::methods::<Method>::Output serve no gerenciamento de comunicação (com) da AUTOSAR Adaptive Platform como encapsulamento estruturado para os argumentos de saída de um método de serviço ([SWS_CM_99333]). No lado do consumidor do serviço (proxy), essa classe é gerada tipada para transferir à aplicação cliente, de forma agrupada, os valores de resultado apurados pelo provedor de serviço e transmitidos através do middleware. No lado do provedor de serviço (skeleton), existe uma estrutura de dados correspondente para disponibilizar o retorno do método ([SWS_CM_99556]). Parceiros de interação essenciais são a aplicação cliente chamadora, a instância do método proxy e o ara::core::Future retornado pela interface de invocação, que transporta o objeto Output em caso de sucesso (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 «Struct: Output»).

Ciclo de vida

O ciclo de vida de uma instância de Output está diretamente incorporado ao padrão de comunicação assíncrona da Adaptive Platform. Ao executar uma chamada de método no proxy, o ambiente de tempo de execução cria um ara::core::Future, que serve como contêiner para o futuro objeto Output (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 «Struct: Output»). Os dados de resultado propriamente ditos são gerados no lado do provedor: após a conclusão do processamento – seja de forma síncrona no corpo do método de serviço ou de forma assíncrona em uma thread separada –, os parâmetros de saída são gravados na estrutura de saída e passados a um Promise para o Future correspondente (ARAComAPI §6.19 «Returning Future with already set result»).

Assim que o resultado estiver disponível, o cliente extrai a instância de Output via get() ou GetResult(). Com isso, o objeto passa para a posse do chamador; a partir desse momento, a continuidade do ciclo de vida fica, presumivelmente, sob responsabilidade do código da aplicação chamadora. Pergunta Q-27f51b3c9fb838ed (aberta) Uma restrição relevante para o ciclo de vida diz respeito ao cancelamento prematuro: o destrutor do objeto ara::core::Future retornado serve para o chamador cancelar a requisição após o seu envio ([SWS_CM_00194]). Se o future for destruído prematuramente, isso leva ao cancelamento da chamada, de modo que nenhuma entrega da estrutura Output ocorre.

Caminho de utilização

O fluxo típico para receber os parâmetros de saída do método compreende as seguintes etapas:

Chamada de um método de proxy e obtenção da estrutura OutputClientProxyMethodFuture<Output>Methodenaufruf()ara::core::Future<Output>get() / GetResult()altErfolgreichOutputFehler aufgetretenara::core::ErrorCode

Diagrama de sequência: chamada de um método proxy e obtenção da estrutura Output por meio do future. Fontes: [SWS_CM_99333], AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 «Struct: Output», ARAComAPI §6.19 «Returning Future with already set result».

Cenários de erro

Se ocorrer um erro durante o processamento do método, nenhum objeto regular de Output é retornado. O gerenciamento de comunicação lida com isso através de mecanismos de erro específicos:

  • Erros de aplicação verificados (Checked Errors): se ocorrer um erro definido durante o processamento da chamada de método, o respectivo ara::core::ErrorCode é fornecido no contexto da chamada get() ou GetResult() ([SWS_CM_10371]).
  • Erros de infraestrutura e de transmissão: se a chamada falhar, o ara::core::Future contém um código de erro correspondente, como ara::core::FutureErrc (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 «Struct: Output») ou, no lado do provedor, ara::com::ComErrc (AUTOSAR_AP_SWS_CommunicationManagement §8.4 «Methods»).
  • Métodos Fire-and-Forget: para métodos sem valores de retorno (fire and forget), nenhum erro verificado é reportado ([SWS_CM_90436]); para tais métodos, não existe a estrutura Output.
  • Aborto de chamada: a destruição do objeto Future cancela a requisição em andamento e impede a disponibilização de um resultado Output ([SWS_CM_00194]).

Este guia baseia-se exclusivamente nas especificações da release Adaptive R25-11.