DEENESPTFRRUARHIKOZHNL

struct ara::com::FindServiceHandle

[SWS_CM_00303] Upstream: RS_CM_00102

struct FindServiceHandle {...};

The exact definition of ara::com::FindServiceHandle is Communication Management implementation specific. ara::com::FindServiceHandle satisfies the [equalitycomparable] and [lessthancomparable] requirements as per [30] to allow storing and managing ara::com::FindServiceHandles by the application.

Literaturverzeichnis SWS CommunicationManagement: [30] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/com/service/find_service_handle.h"
Forwarding-Header#include "ara/com/com_fwd.h"
Scopenamespace ara::com

User GuideKI-GENERIERT

Dient als Steuerungs-Token zum Verwalten und Beenden einer laufenden asynchronen Hintergrundsuche nach Service-Instanzen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: eb9ee1985b4b Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als Steuerungs-Token zum Verwalten und Beenden einer laufenden asynchronen Hintergrundsuche nach Service-Instanzen.

Die Struktur ara::com::FindServiceHandle dient als eindeutiges Kontroll-Token zur Steuerung einer im Hintergrund laufenden Service-Überwachung (AUTOSAR_AP_EXP_ARAComAPI S. 34). Da der Standardkonstruktor gelöscht ist ([SWS_CM_00353]), wird das Handle ausschließlich von StartFindService erzeugt und ermöglicht nach Empfang asynchroner Status-Callbacks das gezielte Beenden der Suche über StopFindService (AUTOSAR_AP_EXP_ARAComAPI S. 30). Unterstützte Vergleichsoperatoren gewährleisten zudem die speicherbare Verwaltung mehrerer Suchaufträge in Standardcontainern ([SWS_CM_11526], [SWS_CM_11527]).

Kontext

Die Struktur ara::com::FindServiceHandle fungiert im Modul com der Adaptive Platform als eindeutiger Bezeichner und Kontroll-Token für eine asynchrone, kontinuierliche Dienstsuche. Während eine synchrone Abfrage über FindService einmalig passende Service-Instanzen ermittelt und direkt Handle-Container zurückliefert, initiiert StartFindService eine dauerhafte Überwachung der Dienstverfügbarkeit im Hintergrund (AUTOSAR_AP_EXP_ARAComAPI S. 34). An diesem Prozess sind typischerweise die Anwendungsinstanz, die typspezifische Proxy-Klasse (beispielsweise RadarServiceProxy) sowie eine anwenderdefinierte Callback-Funktion vom Typ FindServiceHandler beteiligt (AUTOSAR_AP_EXP_ARAComAPI S. 30). Die konkrete interne Repräsentation von ara::com::FindServiceHandle ist implementierungsspezifisch für das jeweilige Communication Management ausgestaltet, stellt jedoch standardisierte C++-Schnittstellen für die Handhabung bereit.

Lebenszyklus

Der Lebenszyklus eines ara::com::FindServiceHandle ist fest an den aktiven Suchvorgang im Communication Management gekoppelt:

  • Erzeugung: Der Standardkonstruktor ist explizit gelöscht ([SWS_CM_00353]). Eine Applikation kann Handle-Instanzen somit nicht uninitialisiert oder eigenmächtig erzeugen. Stattdessen wird ein gültiges Handle ausschließlich als Nutzlast eines ara::core::Result durch die statische Methode StartFindService generiert (AUTOSAR_AP_EXP_ARAComAPI S. 30).
  • Verwaltung und Besitz: Ein Handle unterstützt die Zuweisung über den Kopierzuweisungsoperator [SWS_CM_11528]. Um der Anwendung das Speichern und Organisieren mehrerer Suchaufträge in Standardcontainern (wie geordneten Mengen oder Assoziativspeichern) zu ermöglichen, erfüllt der Typ die C++-Konzepte [equalitycomparable] und [lessthancomparable] über die Operatoren operator== ([SWS_CM_11526]) und operator< ([SWS_CM_11527]).
  • Beendigung und Zerstörung: Das Handle behält seine Gültigkeit, solange die Hintergrundüberwachung aktiv ist. Die Beendigung der Suche erfolgt durch Übergabe des Handles an StopFindService (AUTOSAR_AP_EXP_ARAComAPI S. 30, AUTOSAR_AP_EXP_ARAComAPI S. 34). Nach diesem Aufruf repräsentiert das Handle keinen laufenden Suchprozess mehr.

Nutzungspfad

Der reguläre Ablauf umfasst die Registrierung des Suchauftrags, den fortlaufenden Empfang von Verfügbarkeitsaktualisierungen und das geordnete Stoppen des Überwachungsprozesses:

  1. Suchstart: Die Anwendung registriert einen FindServiceHandler über StartFindService, um über neu verfügbare oder wegfallende Service-Instanzen informiert zu werden (AUTOSAR_AP_EXP_ARAComAPI S. 30, AUTOSAR_AP_EXP_ARAComAPI S. 34).
  2. Handle-Erhalt: Bei erfolgreichem Start liefert der Aufruf ein ara::core::Result mit dem FindServiceHandle zurück (AUTOSAR_AP_EXP_ARAComAPI S. 30), das die Anwendung für spätere Steuerungsaufrufe aufbewahrt.
  3. Asynchrone Benachrichtigung: Das Communication Management führt die Hintergrundsuche aus und ruft bei Statusänderungen den bereitgestellten Handler auf (AUTOSAR_AP_EXP_ARAComAPI S. 34).
  4. Suchstopp: Sobald die Instanzen gefunden wurden oder die Überwachung nicht mehr erforderlich ist, übergibt die Anwendung das Handle an StopFindService (AUTOSAR_AP_EXP_ARAComAPI S. 30, AUTOSAR_AP_EXP_ARAComAPI S. 34).
Ablauf der asynchronen Dienstsuche mit FindServiceHandleApplikationProxyFindServiceHandlerStartFindService(handler)Result<FindServiceHandle>Use Case: Hintergrundüberwachung aktivBenachrichtigung über InstanzenUse Case: Beendigung der ÜberwachungStopFindService(handle)

Sequenzdiagramm: Typischer Ablauf der asynchronen Dienstsuche von der Registrierung über Benachrichtigungen bis zum Beenden via FindServiceHandle. Quellen: AUTOSAR_AP_EXP_ARAComAPI S. 30, AUTOSAR_AP_EXP_ARAComAPI S. 34.

Fehlerszenarien

Beim Einsatz von ara::com::FindServiceHandle sind folgende systemspezifische Randbedingungen zu beachten:

  • Fehlgeschlagener Suchstart: Falls technische Bindungen nicht verfügbar sind oder die Service-Deployment-Konfiguration fehlerhaft ist (AUTOSAR_AP_EXP_ARAComAPI S. 34), schlägt StartFindService fehl. Das zurückgegebene ara::core::Result enthält in diesem Fall kein gültiges Handle, sondern einen Fehlercode (AUTOSAR_AP_EXP_ARAComAPI S. 30).
  • Ausnahmesicherheit: Die implementierten Vergleichs- und Zuweisungsoperatoren operator== ([SWS_CM_11526]), operator< ([SWS_CM_11527]) und operator= ([SWS_CM_11528]) sind in der Spezifikation explizit als nicht ausnahmesicher (not exception safe) deklariert.
  • Mehrfaches Stoppen: Ein wiederholter Aufruf von StopFindService mit demselben Handle dürfte vermutlich wirkungslos bleiben oder zu einem Laufzeitfehler führen, da die zugrundeliegende Überwachungsaktivität bereits entfernt wurde. Frage Q-f44130c33fa1caea (offen)

Dieser Leitfaden basiert auf der AUTOSAR-Spezifikation für die Adaptive Platform (Release R25-11). Die dargestellten Schnittstellen und Verhaltensweisen stützen sich auf die referenzierten SWS-Anforderungen und API-Beschreibungen.

Mitgliederkarte

Konstruktoren und Destruktor

1

Klassendiagramm

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

G nara__com__FindServiceHandle138 «struct» FindServiceHandle + FindServiceHandle() + operator=() + operator<() + operator==()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Default constructor deletion

FindServiceHandle ()=delete;

Operatoren

operator< function

LessThan operator as per [lessthancomparable] in [30]

bool operator< (const FindServiceHandle &other) const;
operator= function

Copy assignment constructor

FindServiceHandle & operator= (const FindServiceHandle &other);
operator== function

Equality operator as per [equalitycomparable] in [30]

bool operator== (const FindServiceHandle &other) const;

Dokumentation der Methoden

function FindServiceHandle [SWS_CM_00353] Upstream: RS_AP_00146

FindServiceHandle ()=delete;

Default constructor deletion

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00353
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00353@rel:R25-11#b1f430d1
Content hash
b1f430d1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00353
Status: valid/unmigrated Version: rel:R25-11#8a450052 Versionshistorie & Revisions (1 transition, 4 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_00353@rel:R25-11#8a450052
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b1f430d12026-09-30
  • R23-11rel:R23-11#604163032026-10-14
  • R24-11rel:R24-11#8a4500522026-10-14
  • R25-11rel:R25-11#8a4500522026-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

function operator< [SWS_CM_11527]

bool operator< (const FindServiceHandle &other) const;

LessThan operator as per [lessthancomparable] in [30]

Literaturverzeichnis SWS CommunicationManagement: [30] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle
Exception-Sicherheitnot exception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::FindServiceHandle to compare

Rückgabewert

TypBeschreibung
boolTRUE if other is less than *this, FALSE otherwise.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11527
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11527@rel:R25-11#9b3fc18e
Content hash
9b3fc18e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11527
Status: valid/unmigrated Version: rel:R25-11#b1ec1ec0 Versionshistorie & Revisions (1 transition, 3 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_11527@rel:R25-11#b1ec1ec0
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#9b3fc18e2026-09-30
  • R24-11rel:R24-11#2bb55cbe2026-10-14
  • R25-11rel:R25-11#b1ec1ec02026-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

function operator= [SWS_CM_11528]

FindServiceHandle & operator= (const FindServiceHandle &other);

Copy assignment constructor

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle
Exception-Sicherheitnot exception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::FindServiceHandle to copy

Rückgabewert

TypBeschreibung
FindServiceHandle &New ara::com::FindServiceHandle

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11528
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11528@rel:R25-11#414d7a6c
Content hash
414d7a6c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11528
Status: valid/unmigrated Version: rel:R25-11#847556b4 Versionshistorie & Revisions (1 transition, 3 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_11528@rel:R25-11#847556b4
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#414d7a6c2026-09-30
  • R24-11rel:R24-11#f73bf3482026-10-14
  • R25-11rel:R25-11#847556b42026-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

function operator== [SWS_CM_11526]

bool operator== (const FindServiceHandle &other) const;

Equality operator as per [equalitycomparable] in [30]

Literaturverzeichnis SWS CommunicationManagement: [30] ISO/IEC 14882:2014, Information technology – Programming languages – C++ – www.iso.org

Header-Datei#include "ara/com/service/find_service_handle.h"
Scopestruct ara::com::FindServiceHandle
Exception-Sicherheitnot exception safe

Parameter (in)

ParameterBeschreibung
otherOther ara::com::FindServiceHandle to compare

Rückgabewert

TypBeschreibung
boolTRUE if other is equal to *this, FALSE otherwise.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11526
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11526@rel:R25-11#d9c8643c
Content hash
d9c8643c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11526
Status: valid/unmigrated Version: rel:R25-11#d2ea98ee Versionshistorie & Revisions (1 transition, 3 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_11526@rel:R25-11#d2ea98ee
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#d9c8643c2026-09-30
  • R24-11rel:R24-11#491d93d72026-10-14
  • R25-11rel:R25-11#d2ea98ee2026-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