DEENESPTFRRUARHIKOZHNL

类 <SI-Namespace>::proxy::methods::<FnFMethod>

[SWS_CM_99332] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114

class <FnFMethod> {...};

Service proxy fire-and-forget method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget==TRUE) defined in the ServiceInterface in the role method.

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Forwarding-Header#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy/<SiShortname>_proxy_fwd.h"
Scopenamespace <SI-Namespace>::proxy::methods

用户指南人工智能生成

允许在客户端级别未经确认地调用无返回值的服务接口单向方法。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: c09dd8b0ab24 来源 未决问题(2)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

允许在客户端级别未经确认地调用无返回值的服务接口单向方法。

该代理类允许客户端应用程序针对具有 Fire-and-Forget 语义的服务操作触发未经确认的方法调用 [SWS_CM_90435]。在调用函数运算符时,将传输输入参数,而不会生成返回值或用于获取结果的响应 Future。同时,每次方法调用时都会执行端到端保护,其当前检查状态可以单独查询 [SWS_CM_00147]。调用是异常安全的,但在访问权限不足时会因权限违背而失败。

上下文

类 <SI-Namespace>::proxy::methods::<FnFMethod> 表示 AUTOSAR Adaptive Platform 通信管理中客户端或代理端的 Fire-and-Forget 方法 [SWS_CM_90435]。在面向服务的架构中,对于接口中定义的且指定了 ClientServerOperation.fireAndForget == TRUE 的每个操作 (ClientServerOperation),在代理角色中都精确存在一个这样的实例 [SWS_CM_90435]、SWS CommunicationManagement §8.3.4.1.2.1 “operator()”。

其核心职责在于接收调用实参并将其转发到传输层。不同于通过 ara::core::Future 通知调用方并传输任何应用程序错误的同步或异步双向调用 [SWS_CM_00197],Fire-and-Forget 调用既不需要响应,也不需要服务器端的确认。交互参与方包括发起调用的客户端应用程序、服务代理的方法实例以及包含 E2E 保护的下游通信绑定。

Client 客户端应用 FnFMethod proxy::methods::<FnFMethod> Client->FnFMethod operator() Client->FnFMethod GetE2EStateMachineState() Binding Kommunikations-Binding / E2E FnFMethod->Binding E2E_Check() 与传输

上下文图:代理 Fire-and-Forget 方法类的组件和接口关系。来源:[SWS_CM_90435]、[SWS_CM_00147]

生命周期

该类在分层作用域 <SI-Namespace>::proxy::methods::<FnFMethod> 内的生成头文件 #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" 中声明 [SWS_CM_90435]。方法实例的生命周期可能与上层服务代理对象的生命周期绑定(解释:该方法作为子对象与服务代理一起创建和销毁)。 问题 Q-9ee6da68f325c3d0 (未决)

除了纯粹的调用之外,该类还具有关于 E2E 保护(端到端保护,End-to-End-Protection)的内部状态。该 E2E 状态在每次方法调用时通过函数 E2E_Check() 确定,并可以通过 GetE2EStateMachineState() 进行查询,该函数提供类型为 ara::com::e2e::SMState 的状态值 [SWS_CM_00147]、SWS CommunicationManagement §8.3.4.1.1.1 “GetE2EStateMachineState”。所有成员函数均声明为 noexcept [SWS_CM_00147]、[SWS_CM_90435];如果在未由绑定保证可重入性的情况下从多个线程并发调用,则可能需要外部同步。 问题 Q-e59aae09676d76c2 (未决)

使用路径

使用 Fire-and-Forget 方法的典型流程包括以下步骤:

Fire-and-Forget 方法调用流程客户端应用proxy::methods::<FnFMethod>Kommunikations-Binding / E2Eoperator()({in-args})E2E_Check() 与发送传输返回 (void)GetE2EStateMachineState()ara::com::e2e::SMState

时序图:调用 Fire-and-Forget 方法及随后进行状态查询时的典型交互顺序。来源:[SWS_CM_90435], [SWS_CM_00147]

错误场景

operator() 与 GetE2EStateMachineState() 均具备异常安全性(exception safe)并声明为 noexcept [SWS_CM_00147], [SWS_CM_90435]。因此不会引发 C++ 异常。

在缺少访问权限时,权限执行(Grant Enforcement)机制生效:若调用上下文缺少必要权限,则调用会被拒绝并记录一个 InsufficientPermissionsViolation [SWS_CM_90435]。

由于不通过 ara::core::Future 进行返回,且 Fire-and-Forget 操作不支持传输 ApApplicationError 或 ara::core::ErrorCode [SWS_CM_00197],因此传输错误不会反馈给调用者。数据安全性或传输通道中的任何潜在错误均仅体现在 E2E 状态机的状态中,该状态可通过 GetE2EStateMachineState() 进行诊断 [SWS_CM_00147]。

本指南基于 AUTOSAR Adaptive Platform Release R25-11 规范,并描述 Proxy Fire-and-Forget 方法类的功能原理。

UML 类图

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

G n_SI_Namespace___proxy__methods___FnFMethod_122 <FnFMethod> + GetE2EStateMachineState() + operator()

方法

Returns the state of the specific fnfmethod class, which was determined by the last run of E2E_Check() function invoked during the last call of operator()

ara::com::e2e::SMState GetE2EStateMachineState () const noexcept;

运算符

operator 函数

Initiate a fire-and-forget method call (ClientServerOperation. fireAndForget ==TRUE)

void operator() ({<p-fnfmethod-in-arg-derived-type-0toN>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept;

方法文档

函数 GetE2EStateMachineState [SWS_CM_00147] Upstream: RS_CM_00224, RS_E2E_08534

ara::com::e2e::SMState GetE2EStateMachineState () const noexcept;

Returns the state of the specific fnfmethod class, which was determined by the last run of E2E_Check() function invoked during the last call of operator()

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Scopeclass <SI-Namespace>::proxy::methods::<FnFMethod>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
ara::com::e2e::SMStateState of the specific fnfmethod class

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

Record
AUTOSAR/AP/record/SWS_CM_00147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00147@rel:R25-11#a3054a16
Content hash
a3054a16
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00147
Status: valid/unmigrated Version: rel:R25-11#f447bc35 Versionshistorie & Revisions (1 transition)
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_00147@rel:R25-11#f447bc35
Point-in-Time History:
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_90435] Upstream: RS_CM_00225, RS_AP_00114, RS_AP_00120

void operator() ({<p-fnfmethod-in-arg-derived-type-0toN>} {<fnfmethod-in-arg-symbol-0toN>}) noexcept;

Initiate a fire-and-forget method call (ClientServerOperation. fireAndForget ==TRUE)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"
Scopeclass <SI-Namespace>::proxy::methods::<FnFMethod>
Exception-Sicherheitexception safe
Verletzungen (Violations)InsufficientPer- Refused by Grant Enforcement missionsViolation

Parameter (in)

ParameterBeschreibung
{<fnfmethod-in-arg-symbol-0toN>}As per {<p-method-in-arg-symbol-0toN>} in [SWS_CM_00191]

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_CM_90435
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_90435@rel:R25-11#cd729495
Content hash
cd729495
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_90435
Status: valid/unmigrated Version: rel:R25-11#6620ed09 Versionshistorie & Revisions (1 transition, 8 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_90435@rel:R25-11#6620ed09
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3c47af102026-09-30
  • R19-11rel:R19-11#c4decbd42026-10-14
  • R20-11rel:R20-11#02f450d92026-10-14
  • R21-11rel:R21-11#0606f4f32026-10-14
  • R22-11rel:R22-11#c4decbd42026-10-14
  • R23-11rel:R23-11#3a705bf02026-10-14
  • R24-11rel:R24-11#41cb46922026-10-14
  • R25-11rel:R25-11#6620ed092026-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