DEENESPTFRRUARHIKOZHNL

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

User GuideKI-GENERIERT

Kapselt als Datenstruktur die Ausgabeparameter einer asynchron aufgerufenen Dienstmethode für den empfangenden Proxy.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 8153a94079af Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Kapselt als Datenstruktur die Ausgabeparameter einer asynchron aufgerufenen Dienstmethode für den empfangenden Proxy.

Die Struktur <SI-Namespace>::proxy::methods::<Method>::Output kapselt die Ausgabeargumente einer Proxy-Dienstmethode der AUTOSAR Adaptive Platform ([SWS_CM_99333]). Der Aufrufer erhält die Struktur im Erfolgsfall über ein zurückgegebenes ara::core::Future nach dessen Auflösung via get() oder GetResult() (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 „Struct: Output“). Treten während der Bearbeitung Fehler auf, wird kein Output-Objekt erzeugt, sondern stattdessen ein Fehlercode über den Future-Kontext bereitgestellt. Durch Zerstörung des Future-Objekts kann der Client einen laufenden Methodenaufruf vorzeitig abbrechen.

Kontext

Die Struktur <SI-Namespace>::proxy::methods::<Method>::Output dient im Kommunikationsmanagement (com) der AUTOSAR Adaptive Platform als strukturierte Kapselung für die Ausgabeargumente einer Dienstmethode ([SWS_CM_99333]). Auf der Seite des Dienstkonsumenten (Proxy) wird diese Klasse typisiert generiert, um die vom Dienstanbieter ermittelten und über die Middleware übertragenen Ergebniswerte gebündelt an die Client-Anwendung zu übergeben. Auf Seiten des Dienstanbieters (Skeleton) existiert eine korrespondierende Datenstruktur zur Bereitstellung der Methodenrückgabe ([SWS_CM_99556]). Wesentliche Interaktionspartner sind die aufrufende Client-Anwendung, die Proxy-Methodeninstanz sowie das von der Aufrufschnittstelle zurückgegebene ara::core::Future, das im Erfolgsfall das Output-Objekt transportiert (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 „Struct: Output“).

Lebenszyklus

Der Lebenszyklus einer Instanz von Output ist direkt in das asynchrone Kommunikationsmuster der Adaptive Platform eingebettet. Bei Ausführung eines Methodenaufrufs am Proxy erzeugt die Laufzeitumgebung ein ara::core::Future, welches als Container für das spätere Output-Objekt dient (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 „Struct: Output“). Die eigentlichen Ergebnisdaten werden auf der Anbieterseite erzeugt: Nach Abschluss der Verarbeitung – entweder synchron im Rumpf der Dienstmethode oder asynchron in einem separaten Thread – werden die Ausgabeparameter in der Ausgabestruktur abgelegt und über ein Promise an das zugehörige Future übergeben (ARAComAPI §6.19 „Returning Future with already set result“).

Sobald das Ergebnis bereitsteht, extrahiert der Client die Output-Instanz über get() oder GetResult(). Dabei geht das Objekt in den Besitz des Aufrufers über; die weitere Lebensdauer obliegt ab diesem Zeitpunkt vermutlich dem aufrufenden Anwendungscode. Frage Q-27f51b3c9fb838ed (offen) Eine relevante Randbedingung für den Lebenszyklus betrifft den vorzeitigen Abbruch: Der Destruktor des zurückgegebenen ara::core::Future-Objekts dient dem Aufrufer dazu, die Anfrage nach dem Absetzen abzubrechen ([SWS_CM_00194]). Wird das Future vorzeitig zerstört, führt dies zum Abbruch des Aufrufs, sodass keine Auslieferung der Output-Struktur stattfindet.

Nutzungspfad

Der typische Ablauf zur Entgegennahme der Methodenausgabeparameter umfasst folgende Schritte:

Aufruf einer Proxy-Methode und Abruf der Output-StrukturClientProxyMethodFuture<Output>Methodenaufruf()ara::core::Future<Output>get() / GetResult()altErfolgreichOutputFehler aufgetretenara::core::ErrorCode

Sequenzdiagramm: Aufruf einer Proxy-Methode und Übernahme der Output-Struktur über das Future. Quellen: [SWS_CM_99333], AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 „Struct: Output“, ARAComAPI §6.19 „Returning Future with already set result“.

Fehlerszenarien

Tritt bei der Verarbeitung der Methode ein Fehler auf, wird kein reguläres Output-Objekt zurückgeliefert. Das Kommunikationsmanagement handhabt dies über spezifische Fehlermechanismen:

  • Geprüfte Anwendungsfehler (Checked Errors): Tritt während der Bearbeitung des Methodenaufrufs ein definierter Fehler auf, wird der entsprechende ara::core::ErrorCode im Kontext des get()- bzw. GetResult()-Aufrufs geliefert ([SWS_CM_10371]).
  • Infrastruktur- und Übertragungsfehler: Schlägt der Aufruf fehl, enthält das ara::core::Future einen entsprechenden Fehlercode wie ara::core::FutureErrc (AUTOSAR_AP_SWS_CommunicationManagement §8.3.6 „Struct: Output“) bzw. anbieterseitig ara::com::ComErrc (AUTOSAR_AP_SWS_CommunicationManagement §8.4 „Methods“).
  • Fire-and-Forget-Methoden: Für Methoden ohne Rückgabewerte (Fire and Forget) werden keine geprüften Fehler zurückgemeldet ([SWS_CM_90436]); für solche Methoden existiert keine Output-Struktur.
  • Aufrufabort: Das Zerstören des Future-Objekts bricht die laufende Anfrage ab und verhindert das Bereitstellen eines Output-Ergebnisses ([SWS_CM_00194]).

Dieser Leitfaden basiert ausschließlich auf den Spezifikationen des Adaptive-Release R25-11.