DEENESPTFRRUARHIKOZHNL

структура 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

Руководство пользователяСОЗДАНО ИИ

Служит управляющим токеном для администрирования и завершения выполняющегося асинхронного фонового поиска экземпляров сервисов.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: eb9ee1985b4b Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит управляющим токеном для администрирования и завершения выполняющегося асинхронного фонового поиска экземпляров сервисов.

Структура ara::com::FindServiceHandle служит уникальным управляющим токеном для управления фоновым мониторингом сервисов (AUTOSAR_AP_EXP_ARAComAPI с. 34). Поскольку конструктор по умолчанию удален ([SWS_CM_00353]), дескриптор создается исключительно с помощью StartFindService и после получения асинхронных колбэков состояния обеспечивает направленное завершение поиска через StopFindService (AUTOSAR_AP_EXP_ARAComAPI с. 30). Поддерживаемые операторы сравнения гарантируют, кроме того, возможность сохранения и управления несколькими поисковыми запросами в стандартных контейнерах ([SWS_CM_11526], [SWS_CM_11527]).

Контекст

Структура ara::com::FindServiceHandle функционирует в модуле com Adaptive Platform как уникальный идентификатор и управляющий токен для асинхронного непрерывного поиска сервисов. В то время как синхронный запрос через FindService выполняет однократный поиск подходящих экземпляров сервисов и непосредственно возвращает контейнеры дескрипторов, StartFindService инициирует постоянный мониторинг доступности сервисов в фоновом режиме (AUTOSAR_AP_EXP_ARAComAPI с. 34). В этом процессе обычно участвуют экземпляр приложения, типоспецифичный прокси-класс (например, RadarServiceProxy), а также пользовательская функция обратного вызова типа FindServiceHandler (AUTOSAR_AP_EXP_ARAComAPI с. 30). Конкретное внутреннее представление ara::com::FindServiceHandle выполнено специфичным для реализации соответствующего Communication Management, однако предоставляет стандартизированные C++-интерфейсы для обращения с ним.

Жизненный цикл

Жизненный цикл ara::com::FindServiceHandle жестко связан с активным процессом поиска в Communication Management:

  • Создание: конструктор по умолчанию явно удален ([SWS_CM_00353]). Таким образом, приложение не может создавать экземпляры дескриптора неинициализированными или самовольно. Вместо этого валидный дескриптор генерируется исключительно как полезная нагрузка ara::core::Result статическим методом StartFindService (AUTOSAR_AP_EXP_ARAComAPI с. 30).
  • Управление и владение: дескриптор поддерживает присваивание через оператор копирующего присваивания [SWS_CM_11528]. Чтобы позволить приложению сохранять и организовывать несколько поисковых запросов в стандартных контейнерах (таких как упорядоченные множества или ассоциативные массивы), данный тип удовлетворяет концепциям C++ [equalitycomparable] и [lessthancomparable] через операторы operator== ([SWS_CM_11526]) и operator< ([SWS_CM_11527]).
  • Завершение и уничтожение: дескриптор сохраняет свою валидность до тех пор, пока активен фоновый мониторинг. Завершение поиска происходит путем передачи дескриптора в StopFindService (AUTOSAR_AP_EXP_ARAComAPI с. 30, AUTOSAR_AP_EXP_ARAComAPI с. 34). После этого вызова дескриптор больше не представляет выполняющийся процесс поиска.

Путь использования

Штатная последовательность включает регистрацию поискового запроса, непрерывное получение обновлений доступности и упорядоченную остановку процесса мониторинга:

  1. Запуск поиска: приложение регистрирует FindServiceHandler через StartFindService, чтобы получать уведомления о вновь доступных или прекративших существование экземплярах сервисов (AUTOSAR_AP_EXP_ARAComAPI с. 30, AUTOSAR_AP_EXP_ARAComAPI с. 34).
  2. Получение дескриптора: при успешном запуске вызов возвращает ara::core::Result с FindServiceHandle (AUTOSAR_AP_EXP_ARAComAPI с. 30), который приложение сохраняет для последующих управляющих вызовов.
  3. Асинхронное уведомление: Communication Management выполняет фоновый поиск и при изменениях состояния вызывает предоставленный обработчик (AUTOSAR_AP_EXP_ARAComAPI с. 34).
  4. Остановка поиска: как только экземпляры найдены или мониторинг больше не требуется, приложение передает дескриптор в StopFindService (AUTOSAR_AP_EXP_ARAComAPI с. 30, AUTOSAR_AP_EXP_ARAComAPI с. 34).
Последовательность асинхронного поиска сервисов с FindServiceHandleApplikationProxyFindServiceHandlerStartFindService(handler)Result<FindServiceHandle>Use Case: Фоновый мониторинг активенУведомление об экземплярахUse Case: Завершение мониторингаStopFindService(handle)

Диаграмма последовательности: типичный процесс асинхронного поиска сервисов от регистрации и уведомлений до завершения через FindServiceHandle. Источники: AUTOSAR_AP_EXP_ARAComAPI с. 30, AUTOSAR_AP_EXP_ARAComAPI с. 34.

Сценарии ошибок

При использовании ara::com::FindServiceHandle необходимо учитывать следующие системные граничные условия:

  • Неудачный запуск поиска: если технические привязки недоступны или конфигурация развертывания сервиса ошибочна (AUTOSAR_AP_EXP_ARAComAPI с. 34), StartFindService завершается сбоем. Возвращаемый ara::core::Result в этом случае содержит не валидный дескриптор, а код ошибки (AUTOSAR_AP_EXP_ARAComAPI с. 30).
  • Безопасность исключений: реализованные операторы сравнения и присваивания operator== ([SWS_CM_11526]), operator< ([SWS_CM_11527]) и operator= ([SWS_CM_11528]) в спецификации явно объявлены как небезопасные относительно исключений (not exception safe).
  • Многократная остановка: повторный вызов StopFindService с тем же дескриптором, по-видимому, останется безрезультатным или приведет к ошибке времени выполнения, поскольку базовая активность мониторинга уже была удалена. Вопрос Q-f44130c33fa1caea (открытый)

Настоящее руководство основано на спецификации AUTOSAR для Adaptive Platform (Release R25-11). Представленные интерфейсы и поведение опираются на указанные требования SWS и описания API.

Карта членов

Конструкторы и деструктор

1

Операторы

3

Диаграмма классов

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

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

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

FindServiceHandle функция

Default constructor deletion

FindServiceHandle ()=delete;

Операторы

operator< функция

LessThan operator as per [lessthancomparable] in [30]

bool operator< (const FindServiceHandle &other) const;
operator= функция

Copy assignment constructor

FindServiceHandle & operator= (const FindServiceHandle &other);
operator== функция

Equality operator as per [equalitycomparable] in [30]

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

Документация методов

функция 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#7486121a
Content hash
7486121a
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

функция 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#717be8df
Content hash
717be8df
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

функция 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#110c8f06
Content hash
110c8f06
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

функция 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#c21b3565
Content hash
c21b3565
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