DEENESPTFRRUARHIKOZHNL

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

Guide utilisateurGÉNÉRÉ PAR IA

Encapsule sous forme de structure de données les paramètres de sortie d'une méthode de service appelée de manière asynchrone pour le proxy récepteur.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 8153a94079af Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Encapsule sous forme de structure de données les paramètres de sortie d'une méthode de service appelée de manière asynchrone pour le proxy récepteur.

La structure <SI-Namespace>::proxy::methods::<Method>::Output encapsule les arguments de sortie d'une méthode de service proxy de l'AUTOSAR Adaptive Platform ([SWS_CM_99333]). En cas de succès, l'appelant reçoit la structure par l'intermédiaire d'un ara::core::Future retourné après sa résolution via get() ou GetResult() (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 « Struct: Output »). Si des erreurs surviennent pendant le traitement, aucun objet Output n'est généré, mais un code d'erreur est fourni à la place via le contexte du future. En détruisant l'objet future, le client peut interrompre prématurément un appel de méthode en cours.

Contexte

La structure <SI-Namespace>::proxy::methods::<Method>::Output sert, dans la gestion de la communication (com) de l'AUTOSAR Adaptive Platform, d'encapsulation structurée pour les arguments de sortie d'une méthode de service ([SWS_CM_99333]). Du côté du consommateur de service (proxy), cette classe est générée de façon typée afin de transmettre de manière groupée à l'application cliente les valeurs de résultat déterminées par le fournisseur de service et transmises via le middleware. Du côté du fournisseur de service (skeleton), il existe une structure de données correspondante pour mettre à disposition le retour de la méthode ([SWS_CM_99556]). Les partenaires d'interaction essentiels sont l'application cliente appelante, l'instance de méthode proxy ainsi que le ara::core::Future retourné par l'interface d'appel, qui transporte l'objet Output en cas de succès (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 « Struct: Output »).

Cycle de vie

Le cycle de vie d'une instance de Output est directement intégré dans le patron de communication asynchrone de l'Adaptive Platform. Lors de l'exécution d'un appel de méthode sur le proxy, l'environnement d'exécution génère un ara::core::Future qui sert de conteneur pour le futur objet Output (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 « Struct: Output »). Les données de résultat proprement dites sont générées du côté du fournisseur : une fois le traitement terminé – que ce soit de manière synchrone dans le corps de la méthode de service ou de manière asynchrone dans un thread distinct –, les paramètres de sortie sont déposés dans la structure de sortie et transmis au Future associé via un Promise (ARAComAPI §6.19 « Returning Future with already set result »).

Dès que le résultat est disponible, le client extrait l'instance de Output via get() ou GetResult(). L'objet passe alors sous la possession de l'appelant ; la durée de vie ultérieure relève vraisemblablement, à compter de cet instant, du code d'application appelant. Question Q-27f51b3c9fb838ed (ouverte) Une condition aux limites pertinente pour le cycle de vie concerne l'interruption prématurée : le destructeur de l'objet ara::core::Future retourné sert à l'appelant pour annuler la requête après son émission ([SWS_CM_00194]). Si le future est détruit prématurément, cela conduit à l'interruption de l'appel, de sorte qu'aucune remise de la structure Output n'a lieu.

Parcours d'utilisation

Le déroulement typique pour la réception des paramètres de sortie de méthode comprend les étapes suivantes :

Appel d'une méthode de proxy et récupération de la structure OutputClientProxyMethodFuture<Output>Methodenaufruf()ara::core::Future<Output>get() / GetResult()altErfolgreichsortirFehler aufgetretenara::core::ErrorCode

Diagramme de séquence : appel d'une méthode proxy et prise en charge de la structure Output via le future. Sources : [SWS_CM_99333], AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 « Struct: Output », ARAComAPI §6.19 « Returning Future with already set result ».

Scénarios d'erreur

Si une erreur survient lors du traitement de la méthode, aucun objet Output régulier n'est renvoyé. La gestion de la communication prend cela en charge par le biais de mécanismes d'erreur spécifiques :

  • Erreurs applicatives vérifiées (Checked Errors) : si une erreur définie survient pendant le traitement de l'appel de méthode, le ara::core::ErrorCode correspondant est fourni dans le contexte de l'appel à get() ou GetResult() ([SWS_CM_10371]).
  • Erreurs d'infrastructure et de transmission : si l'appel échoue, le ara::core::Future contient un code d'erreur correspondant tel que ara::core::FutureErrc (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 « Struct: Output ») ou, du côté du fournisseur, ara::com::ComErrc (AUTOSAR_AP_SWS_CommunicationManagement §8.4 « Methods »).
  • Méthodes sans attente de réponse (Fire and Forget) : pour les méthodes sans valeurs de retour (Fire and Forget), aucune erreur vérifiée n'est signalée en retour ([SWS_CM_90436]) ; aucune structure Output n'existe pour de telles méthodes.
  • Abandon de l'appel : la destruction de l'objet Future interrompt la requête en cours et empêche la mise à disposition d'un résultat Output ([SWS_CM_00194]).

Ce guide repose exclusivement sur les spécifications de la version Adaptive R25-11.