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

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

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

Обеспечивает неподтвержденный вызов односторонних методов интерфейса сервиса без возвращаемого значения на стороне клиента.

Прокси-класс позволяет клиентскому приложению инициировать неподтвержденные вызовы методов для сервисных операций с семантикой «выстрелил и забыл» (fire-and-forget) [SWS_CM_90435]. При вызове функционального оператора входные параметры передаются без формирования возвращаемого значения или future-объекта ответа для результата. Одновременно при каждом вызове метода выполняется сквозная защита E2E, текущее состояние проверки которой можно запросить отдельно [SWS_CM_00147]. Вызов является безопасным с точки зрения исключений, однако при недостаточных правах доступа завершается сбоем из-за нарушения прав.

Контекст

Класс <SI-Namespace>::proxy::methods::<FnFMethod> представляет метод типа «выстрелил и забыл» на стороне клиента или прокси в рамках управления связью AUTOSAR Adaptive Platform [SWS_CM_90435]. В сервис-ориентированной архитектуре для каждой определенной в интерфейсе операции (ClientServerOperation), для которой задано ClientServerOperation.fireAndForget == TRUE, в роли прокси существует ровно один такой экземпляр [SWS_CM_90435], SWS CommunicationManagement §8.3.4.1.2.1 «operator()».

Его основная ответственность заключается в приеме аргументов вызова и их пересылке на уровень передачи. В отличие от синхронных или асинхронных двунаправленных вызовов, которые уведомляют вызывающую сторону через ara::core::Future и передают возможные ошибки приложения [SWS_CM_00197], вызов типа «выстрелил и забыл» не требует ни ответа, ни подтверждения со стороны сервера. Партнеры по взаимодействию включают вызывающее клиентское приложение, экземпляр метода прокси сервиса, а также нижележащий коммуникационный байдинг, включая E2E-защиту.

Client Клиентское приложение FnFMethod proxy::methods::<FnFMethod> Client->FnFMethod operator() Client->FnFMethod GetE2EStateMachineState() Binding Kommunikations-Binding / E2E FnFMethod->Binding E2E_Check() & передача

Контекстная диаграмма: компоненты и связи интерфейсов класса методов «выстрелил и забыл» для прокси. Источники: [SWS_CM_90435], [SWS_CM_00147]

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

Объявление класса выполняется внутри сгенерированного заголовочного файла #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" в иерархической области видимости <SI-Namespace>::proxy::methods::<FnFMethod> [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 (открытый)

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

Типичный порядок использования метода типа «выстрелил и забыл» включает следующие шаги:

  • Предоставление прокси: приложение создает экземпляр или получает сгенерированный прокси сервиса через определенный заголовочный интерфейс [SWS_CM_90435].
  • Выполнение вызова метода: приложение вызывает объект метода через operator() с передачей входных параметров [SWS_CM_90435]. Функция не возвращает значения (void) и немедленно завершает работу, не ожидая реакции сервера SWS CommunicationManagement §8.3.4.1.2.1 «operator()».
  • Обновление E2E: во время вызова operator() связующее ПО (middleware) выполняет внутреннюю проверку защиты E2E_Check() и обновляет внутренний конечный автомат [SWS_CM_00147].
  • Проверка состояния (опционально): приложение может просмотреть результирующее состояние ara::com::e2e::SMState конечного автомата через GetE2EStateMachineState() [SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 «GetE2EStateMachineState».
Последовательность вызова метода Fire-and-ForgetКлиентское приложениеproxy::methods::<FnFMethod>Kommunikations-Binding / E2Eoperator()({in-args})E2E_Check() & передача отправкиВозврат (void)GetE2EStateMachineState()ara::com::e2e::SMState

Диаграмма последовательности: типичная последовательность взаимодействия при вызове метода типа «выстрелил и забыл» и последующем опросе статуса. Источники: [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 не осуществляется, а операции типа «выстрелил и забыл» не поддерживают передачу ApApplicationError или ara::core::ErrorCode [SWS_CM_00197], ошибки передачи не возвращаются вызывающей стороне. Любые ошибки целостности данных или в канале передачи проявляются исключительно в состоянии конечного автомата E2E, которое можно диагностировать через GetE2EStateMachineState() [SWS_CM_00147].

Настоящее руководство основано на спецификации AUTOSAR Adaptive Platform релиза R25-11 и описывает принцип работы класса методов «выстрелил и забыл» для прокси.

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#f94541c1
Content hash
f94541c1
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#bf0f3231
Content hash
bf0f3231
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