DEENESPTFRRUARHIKOZHNL

класс <SI-Namespace>::proxy::methods::<Method>

[SWS_CM_00006] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114

class <Method> final {...};

Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) 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

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

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

Обеспечивает асинхронный вызов методов сервиса с возвращаемым значением, а также проверку статуса End-to-End.

Класс прокси-метода <SI-Namespace>::proxy::methods::<Method> позволяет клиентским приложениям выполнять вызовы методов с возвращаемым значением для операций клиент-сервер, определенных в ServiceInterface [SWS_CM_00196]. Вызов происходит неблокирующим образом через operator(), который немедленно возвращает ara::core::Future для гибкого синхронного или асинхронного опроса результата [SWS_CM_00196]. Дополнительно GetE2EStateMachineState() позволяет считывать статус защиты связанного конечного автомата End-to-End [SWS_CM_00148]. Поскольку операции специфицированы как безисключительные, ошибки передачи и времени выполнения передаются через Future со стандартизированными кодами ошибок.

Контекст

Класс <SI-Namespace>::proxy::methods::<Method> представляет клиентский интерфейс для синхронных и асинхронных вызовов методов в рамках AUTOSAR Adaptive Communication Management. Для каждой клиент-серверной операции, объявленной в ServiceInterface, для которой сконфигурирован атрибут ClientServerOperation.fireAndForget == FALSE, коммуникационный фреймворк генерирует ровно один собственный класс прокси-метода в роли метода. Класс объявлен как final и подключается через заголовок #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h" SWS Communication Management, с. 39. В качестве прямых партнеров по взаимодействию выступают вызывающее клиентское приложение и сетевая привязка (Network Binding), которая перенаправляет передачу метода на удаленный экземпляр сервиса и принимает его ответ [SWS_CM_00196]. Прокси-метод принимает параметры вызова и инкапсулирует асинхронный процесс через объект ara::core::Future, с помощью которого клиент запрашивает завершение и результат вызова.

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

Инстанцирование <SI-Namespace>::proxy::methods::<Method> происходит совместно с вышестоящим сервисным прокси. Интерпретация: класс метода, вероятно, как неотъемлемая составная часть сгенерированного прокси-объекта инстанцируется и уничтожается вместе с ним, поэтому пользователь не выделяет экземпляр отдельно. Вопрос Q-546c9b1bceedef6b (открытый) Что касается параллелизма, вызов метода через operator() спроектирован как неблокирующий; функция инициирует передачу и немедленно возвращает управление вызывающей стороне [SWS_CM_00196]. Центральным состоянием экземпляра является защита с помощью механизмов End-to-End (E2E). Через метод GetE2EStateMachineState() приложение может определять текущий статус связанного с методом конечного автомата (ara::com::e2e::SMState) [SWS_CM_00148]. Это состояние определяется внутренней функцией проверки E2E_Check(), которая выполняется во время обработки последнего вызова operator() [SWS_CM_00148], SWS Communication Management, с. 55. Интерпретация: обновление состояния конечного автомата E2E, предположительно, вступает в силу асинхронно по мере поступления и проверки ответного сообщения. Вопрос Q-283a9927420e2952 (открытый)

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

Типичная последовательность вызовов включает инициацию вызова метода, синхронизацию с результатом и последующую проверку целостности:

  1. Инициирование вызова: клиентское приложение вызывает функциональный объект через operator() с объявленными входными параметрами [SWS_CM_00196], [SWS_CM_00191].
  2. Немедленный возврат: вызов не блокирует запрашивающий поток, а незамедлительно возвращает объект типа ara::core::Future<Output> [SWS_CM_00196].
  3. Запрос результата: вызывающая сторона автономно принимает решение о синхронном ожидании (например, через объект Future) или об асинхронном контроле завершения вызова [SWS_CM_00196]. При успешном завершении Future возвращает объект Output со значениями ответа [SWS_CM_00196], [SWS_CM_99333].
  4. Проверка статуса защиты E2E: после завершения вызова приложение может запросить состояние конечного автомата E2E через GetE2EStateMachineState(), чтобы убедиться в достоверности передачи данных [SWS_CM_00148].
Последовательность вызова метода ProxyClientmethods::<Method>Future<Output>Server / Bindingoperator()(args)Передать вызов методаara::core::Future<Output>Antwortdaten bereitstellenE2E_Check() aktualisiert E2E-Statusget() / Ergebnis abfragenOutput или ошибкаGetE2EStateMachineState()ara::com::e2e::SMState

Диаграмма последовательности: типичный процесс вызова метода с асинхронным возвратом через Future и последующим запросом E2E-статуса. Источники: [SWS_CM_00196], [SWS_CM_00148].

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

Операции operator() и GetE2EStateMachineState() специфицированы как безисключительные (exception safe) и объявлены с noexcept [SWS_CM_00148], [SWS_CM_00196]. Поэтому ошибки связи и предоставления не передаются через исключения C++, а переносятся через результирующий объект ara::core::Future, который в случае ошибки инкапсулирует соответствующий ara::core::FutureErrc или коды ошибок [SWS_CM_00196]. К специфицированным причинам ошибок относятся, в частности:

  • CommunicationFailure: Network Binding сообщает об устранимой ошибке связи или о сбое защищенного соединения; при тайм-аутах связи это может привести к неопределенному состоянию на удаленном сервере [SWS_CM_00196].
  • ComErrc::kServiceNotAvailable: экземпляр сервиса после предварительного предоставления больше недоступен [SWS_CM_00196].
  • ComErrc::kUnknownApplicationError: удаленный сервис сообщает о несконфигурированной ошибке приложения [SWS_CM_00196].
  • ComE2EErrc::kUnspecifiedE2EError: удаленный сервис сообщает о неспецифицированной ошибке End-to-End [SWS_CM_00196].
  • ComErrc::kMinimumSendIntervalViolationError: запрос вызова произошел быстрее, чем допускает минимальный интервал отправки minimumSendInterval, сконфигурированный для элемента интерфейса [SWS_CM_00196].
  • Нарушение прав доступа (InsufficientPermissionsViolation): если у вызывающей стороны отсутствуют необходимые права, выполнение отклоняется механизмом Grant Enforcement [SWS_CM_00196].

Для этих ошибок приложения и связи в соответствии со спецификацией предусмотрена семантика отката (rollback_semantics) [SWS_CM_00196].

Это руководство основано исключительно на требованиях спецификации AUTOSAR Adaptive Release R25-11.

Карта членов

Операторы

1

Вложенные типы

1

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

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

G n_SI_Namespace___proxy__methods___Method_320 <Method> + GetE2EStateMachineState() + operator()

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

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

Методы

Returns the state of the specific method 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 method call (ClientServerOperation. fireAndForget ==FALSE). The method call will return immediately. The caller’s selection of a synchronous or asynchronous behavior to get the method output is achieved by the use of the returned ara::core::Future object which is used to query for method completion and result including possible error.

ara::core::Future< Output > operator() ( {<p-method-in-arg-derived-type-0toN>} {<p-method-in-arg-symbol-0toN>}) noexcept;

Вложенные типы

Output класс

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

функция GetE2EStateMachineState [SWS_CM_00148] Upstream: RS_CM_00224, RS_E2E_08534

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

Returns the state of the specific method 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::<Method>
Exception-Sicherheitexception safe

Rückgabewert

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

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

Record
AUTOSAR/AP/record/SWS_CM_00148
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00148@rel:R25-11#94a5fbc6
Content hash
94a5fbc6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00148
Status: valid/unmigrated Version: rel:R25-11#6f69a7c8 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_00148@rel:R25-11#6f69a7c8
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_00196] Upstream: RS_CM_00212, RS_CM_00213, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

ara::core::Future< Output > operator() ( {<p-method-in-arg-derived-type-0toN>} {<p-method-in-arg-symbol-0toN>}) noexcept;

Initiate a method call (ClientServerOperation. fireAndForget ==FALSE). The method call will return immediately. The caller’s selection of a synchronous or asynchronous behavior to get the method output is achieved by the use of the returned ara::core::Future object which is used to query for method completion and result including possible error.

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

Parameter (in)

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

Rückgabewert

TypBeschreibung
ara::core::Future<Output >• If successful: an ara::core::Future containing a Output object as per [SWS_CM_99333] • If unsuccessful: an ara::core::Future containing a corresponding ara::core::FutureErrc

Fehler

FehlercodeBeschreibung
CommunicationFailureThe network binding reported a recoverable communications error or a secure communication failure. In case of a communication timeout this could lead to an uncertain state on the remote server side.
ComErrc::kUnknownApplicationErrorrollback_semantics A remote service returned an unconfigured application error.
ComErrc::kServiceNotAvailablerollback_semantics Service is not available after being previously offered via Offer Service()
ComE2EErrc::kUnspecifiedE2EErrorrollback_semantics A remote service returned an unspecified E2E error.
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

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

Record
AUTOSAR/AP/record/SWS_CM_00196
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00196@rel:R25-11#ad08ff57
Content hash
ad08ff57
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00196
Status: valid/unmigrated Version: rel:R25-11#52e964c2 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_00196@rel:R25-11#52e964c2
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9ff3657d2026-09-30
  • R19-11rel:R19-11#f1ab8f5a2026-10-14
  • R20-11rel:R20-11#371fca132026-10-14
  • R21-11rel:R21-11#3b7e8fe92026-10-14
  • R22-11rel:R22-11#83f6c51d2026-10-14
  • R23-11rel:R23-11#354539802026-10-14
  • R24-11rel:R24-11#666c03b72026-10-14
  • R25-11rel:R25-11#52e964c22026-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