DEENESPTFRRUARHIKOZHNL

命名空间 <SI-Namespace>::proxy

用户指南人工智能生成

提供用于在 AUTOSAR Adaptive 中访问服务实例的客户端接口和 Proxy 类。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 8d525e9d9c66 来源 未决问题(3)
译自德文指南AI 生成gemini-3.8-flash-low · 2026-10-13 · 德文原文

提供用于在 AUTOSAR Adaptive 中访问服务实例的客户端接口和 Proxy 类。

命名空间 <SI-Namespace>::proxy 在模块 com 内提供用于与 Service Interface 交互的客户端接口。其核心组件是 Proxy 类 <SI>Proxy,它对中间件通信进行抽象,并支持方法调用以及事件订阅。Proxy 的实例化通常可能需要来自服务发现的有效句柄。 问题 (未决)作为关键边界条件,调用应用程序必须稳健地处理远程调用时的连接中断和异步响应时间。

上下文

命名空间 <SI-Namespace>::proxy 在 AUTOSAR Adaptive Platform 的通信模块 com 内映射 Service Interface 的客户端表示。它汇总了服务使用者与通过通信网络提供的服务进行交互所需的全部工件和类型。该命名空间的核心是生成的 Proxy 类 <SI>Proxy。此类对底层的基于消息的进程间和网络配置进行抽象,并提供一个 C++ 接口,应用程序软件可通过该接口调用方法、订阅事件以及查询和监视字段。

在架构上,Proxy 充当应用程序特定客户端逻辑与 Adaptive Platform 运行时环境之间的中介。应用程序开发人员仅与来自 <SI-Namespace>::proxy 的实例交互,而无需进行直接的网络或共享内存交互。由此实现了去耦,使得通信协议、数据传输格式和位置详细信息能够透明地由底层平台中间件进行管理。

生命周期

命名空间 <SI-Namespace>::proxy 中对象的生命周期与相应服务实例的可用性紧密耦合。在创建 Proxy 实例之前,必须进行实例发现。Proxy <SI>Proxy 的实例化通常可能需要一个源自服务发现的句柄。 问题 Q-3dcfd734b218f865 (未决)成功实例化后,Proxy 对象表示与相应服务提供者的逻辑连接。

在活动运行阶段,Proxy 实例管理与已订阅事件和待处理异步方法调用相关的状态。关于并发性,需要注意的是,如果多个线程使用同一个 Proxy 对象,则对 Proxy 的调用必须设计为线程安全的,或者必须由客户端进行相应同步。释放或销毁 Proxy 对象可能会终止与所找到服务实例的绑定并解除正在进行的订阅。 问题 Q-e9d55205ba1bf55b (未决)

使用路径

使用 Service Interface Proxy 的典型使用路径分为多个连续阶段:

  • 查找服务实例:客户端通过模块 com 的平台机制发起对服务可用实例的搜索,并接收返回的相应句柄结构。
  • 构造 Proxy:使用有效句柄实例化 <SI>Proxy 的实例,从而建立到服务器的通信通道。
  • 与服务元素交互:通过该实例同步或异步调用方法、订阅事件并注册回调。异步通信模式大概可能会通过 Proxy 实例内的类型化事件和方法包装器进行映射。 问题 Q-2e6b91c7e5f88567 (未决)
  • 终止与清理:通信结束后,取消订阅事件并按规范销毁 Proxy 实例,以释放所占用的资源。

错误场景

与 Proxy 命名空间交互时可能会出现各种错误情况。其中包括到服务器的连接中断、远程调用超时以及初始化期间所请求服务实例不可用。由于通信跨越进程和计算机边界进行,基础架构错误或对端故障会反映在返回值中。在成功绑定之前或销毁实例之后的调用会导致无效状态,因此必须严格遵守关于句柄有效性的前置条件。

本文字由人工智能生成。它仅供参考,不能替代 AUTOSAR Adaptive Platform 的权威规范。

类

Service Interface Proxy

类图

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns <SI-Namespace>::proxy cluster_c0 <SI-Namespace>::proxy::<SI>Proxy n_SI_Namespace___proxy___SI_Proxy <SI>Proxy n_SI_Namespace___proxy___SI_Proxy__HandleType HandleType