DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Serve como token de controlo para gerir e terminar uma pesquisa em segundo plano assíncrona em execução por instâncias de serviço.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: eb9ee1985b4b Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve como token de controlo para gerir e terminar uma pesquisa em segundo plano assíncrona em execução por instâncias de serviço.

A estrutura ara::com::FindServiceHandle serve como um token de controlo exclusivo para comandar uma monitorização de serviços em execução em segundo plano (AUTOSAR_AP_EXP_ARAComAPI p. 34). Uma vez que o construtor predefinido foi eliminado ([SWS_CM_00353]), o handle é gerado exclusivamente por StartFindService e permite, após a receção de callbacks assíncronos de estado, o cancelamento direcionado da pesquisa através de StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30). Os operadores de comparação suportados garantem, além disso, a gestão armazenável de múltiplos pedidos de pesquisa em contentores padrão ([SWS_CM_11526], [SWS_CM_11527]).

Contexto

A estrutura ara::com::FindServiceHandle atua no módulo com da Adaptive Platform como identificador exclusivo e token de controlo para uma pesquisa de serviços assíncrona e contínua. Enquanto uma consulta síncrona via FindService determina instâncias de serviço correspondentes de forma pontual e devolve diretamente contentores de handles, StartFindService inicia uma monitorização permanente da disponibilidade do serviço em segundo plano (AUTOSAR_AP_EXP_ARAComAPI p. 34). Neste processo participam tipicamente a instância da aplicação, a classe proxy específica do tipo (por exemplo, RadarServiceProxy) e uma função de callback definida pelo utilizador do tipo FindServiceHandler (AUTOSAR_AP_EXP_ARAComAPI p. 30). A representação interna concreta de ara::com::FindServiceHandle é desenhada de forma específica da implementação para o respetivo Communication Management, mas disponibiliza interfaces C++ normalizadas para a manipulação.

Ciclo de vida

O ciclo de vida de um ara::com::FindServiceHandle está estritamente associado ao processo de pesquisa ativo no Communication Management:

  • Criação: o construtor predefinido está explicitamente eliminado ([SWS_CM_00353]). Deste modo, uma aplicação não pode criar instâncias de handle não inicializadas ou arbitrariamente. Em vez disso, um handle válido é gerado exclusivamente como payload de um ara::core::Result através do método estático StartFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30).
  • Gestão e posse: um handle suporta a atribuição através do operador de atribuição por cópia [SWS_CM_11528]. Para permitir à aplicação o armazenamento e a organização de múltiplos pedidos de pesquisa em contentores padrão (tais como conjuntos ordenados ou contentores associativos), o tipo cumpre os conceitos de C++ [equalitycomparable] e [lessthancomparable] através dos operadores operator== ([SWS_CM_11526]) e operator< ([SWS_CM_11527]).
  • Terminação e destruição: o handle mantém a sua validade enquanto a monitorização em segundo plano estiver ativa. A conclusão da pesquisa efetua-se mediante a transmissão do handle para StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34). Após esta chamada, o handle já não representa nenhum processo de pesquisa em execução.

Caminho de utilização

O fluxo regular abrange o registo do pedido de pesquisa, a receção contínua de atualizações de disponibilidade e a paragem ordenada do processo de monitorização:

  1. Início da pesquisa: a aplicação regista um FindServiceHandler através de StartFindService para ser informada sobre instâncias de serviço recentemente disponíveis ou descontinuadas (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34).
  2. Obtenção do handle: em caso de arranque bem-sucedido, a chamada devolve um ara::core::Result com o FindServiceHandle (AUTOSAR_AP_EXP_ARAComAPI p. 30), que a aplicação guarda para chamadas de controlo posteriores.
  3. Notificação assíncrona: o Communication Management executa a pesquisa em segundo plano e, no caso de alterações de estado, invoca o manipulador disponibilizado (AUTOSAR_AP_EXP_ARAComAPI p. 34).
  4. Paragem da pesquisa: assim que as instâncias forem encontradas ou a monitorização já não for necessária, a aplicação passa o handle para StopFindService (AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34).
Fluxo da busca assíncrona de serviço com FindServiceHandleApplikationProxyFindServiceHandlerStartFindService(handler)Result<FindServiceHandle>Use Case: Monitoramento em segundo plano ativoNotificação sobre instânciasUse Case: Encerramento do monitoramentoStopFindService(handle)

Diagrama de sequência: sequência típica da pesquisa assíncrona de serviços desde o registo, passando pelas notificações, até ao cancelamento via FindServiceHandle. Fontes: AUTOSAR_AP_EXP_ARAComAPI p. 30, AUTOSAR_AP_EXP_ARAComAPI p. 34.

Cenários de erro

Na utilização de ara::com::FindServiceHandle, devem ser tidas em conta as seguintes condições de contorno específicas do sistema:

  • Início de pesquisa falhado: caso as vinculações técnicas não estejam disponíveis ou a configuração de deployment de serviço esteja incorreta (AUTOSAR_AP_EXP_ARAComAPI p. 34), StartFindService falha. O ara::core::Result devolvido não contém, neste caso, um handle válido, mas sim um código de erro (AUTOSAR_AP_EXP_ARAComAPI p. 30).
  • Segurança contra exceções: os operadores de comparação e de atribuição implementados operator== ([SWS_CM_11526]), operator< ([SWS_CM_11527]) e operator= ([SWS_CM_11528]) são explicitamente declarados na especificação como não seguros contra exceções (not exception safe).
  • Paragem múltipla: uma chamada repetida de StopFindService com o mesmo handle presumivelmente não terá efeito ou provocará um erro em tempo de execução, dado que a atividade de monitorização subjacente já foi removida. Pergunta Q-f44130c33fa1caea (aberta)

Este guia baseia-se na especificação AUTOSAR para a Adaptive Platform (Release R25-11). As interfaces e os comportamentos apresentados sustentam-se nos requisitos SWS e descrições de API referenciados.

Mapa de membros

Construtores e destrutor

1

Diagrama de classes

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

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

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Default constructor deletion

FindServiceHandle ()=delete;

Operadores

operator< função

LessThan operator as per [lessthancomparable] in [30]

bool operator< (const FindServiceHandle &other) const;
operator= função

Copy assignment constructor

FindServiceHandle & operator= (const FindServiceHandle &other);
operator== função

Equality operator as per [equalitycomparable] in [30]

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

Documentação dos métodos

função 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#20253aee
Content hash
20253aee
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

função 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#b0ab3545
Content hash
b0ab3545
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

função 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#94a82f67
Content hash
94a82f67
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

função 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#46c11f96
Content hash
46c11f96
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