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 생성

클라이언트 수준에서 반환값이 없는 서비스 인터페이스의 단방향 메서드를 확인 응답 없이 호출할 수 있도록 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: c09dd8b0ab24 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

클라이언트 수준에서 반환값이 없는 서비스 인터페이스의 단방향 메서드를 확인 응답 없이 호출할 수 있도록 합니다.

프록시 클래스는 클라이언트 애플리케이션이 Fire-and-Forget 시맨틱을 갖는 서비스 작업에 대해 확인되지 않는 메서드 호출을 트리거할 수 있도록 합니다 [SWS_CM_90435]. 함수 연산자 호출 시 결과를 위한 반환값이나 응답 Future를 생성하지 않고 입력 매개변수가 전송됩니다. 동시에 모든 메서드 호출 시 종단간 보호(Ende-zu-Ende-Absicherung)가 실행되며, 현재 검사 상태는 별도로 쿼리할 수 있습니다 [SWS_CM_00147]. 호출은 예외 안전(ausnahmesicher)하게 수행되지만, 접근 권한이 불충분한 경우 권한 위반으로 실패합니다.

컨텍스트

클래스 <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> [SWS_CM_90435] 내의 생성된 헤더 파일 #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_proxy.h"에서 이루어집니다. 메서드 인스턴스의 수명은 상위 서비스 프록시 객체의 수명에 결합되어 있을 가능성이 높습니다(해석: 메서드는 서비스 프록시와 함께 하위 객체로서 생성 및 소멸됨). 질문 Q-9ee6da68f325c3d0 (열림)

단순한 호출 외에도 클래스는 E2E 보호(End-to-End-Protection)와 관련된 내부 상태를 보유합니다. 이 E2E 상태는 E2E_Check() 함수를 통해 각 메서드 호출 시 결정되며, ara::com::e2e::SMState 타입의 상태 값을 반환하는 GetE2EStateMachineState()을 통해 쿼리할 수 있습니다 [SWS_CM_00147], SWS CommunicationManagement §8.3.4.1.1.1 “GetE2EStateMachineState”. 모든 멤버 함수는 noexcept로 선언되어 있습니다 [SWS_CM_00147], [SWS_CM_90435]. 바인딩이 재진입성(Reentrancy)을 보장하지 않는 경우 여러 스레드에서 동시에 호출할 때 외부 동기화가 필요할 수 있습니다. 질문 Q-e59aae09676d76c2 (열림)

사용 경로

Fire-and-Forget 메서드를 사용하는 일반적인 절차는 다음 단계로 구성됩니다:

  • 프록시 배포: 애플리케이션은 정의된 헤더 인터페이스 [SWS_CM_90435]을 통해 생성된 서비스 프록시를 인스턴스화하거나 획득합니다.
  • 메서드 호출 실행: 애플리케이션은 입력 매개변수를 전달하면서 operator()을 통해 메서드 객체를 호출합니다 [SWS_CM_90435]. 이 함수는 반환값을 제공하지 않으며(void), 서버 응답을 기다리지 않고 즉시 반환됩니다 SWS CommunicationManagement §8.3.4.1.2.1 “operator()”.
  • E2E 업데이트: operator() 호출 중에 미들웨어는 내부적으로 보호 검사 E2E_Check()을 수행하고 내부 상태 머신을 업데이트합니다 [SWS_CM_00147].
  • 상태 검사(선택 사항): 애플리케이션은 GetE2EStateMachineState()을 통해 상태 머신의 결과 상태 ara::com::e2e::SMState을 확인할 수 있습니다 [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

시퀀스 다이어그램: 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], 전송 오류는 호출자에게 다시 보고되지 않습니다. 데이터 보안 또는 전송 채널의 잠재적 오류는 GetE2EStateMachineState()를 통해 진단할 수 있는 E2E 상태 머신의 상태로만 나타납니다 [SWS_CM_00147].

본 가이드는 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 하며 프록시 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#25ae7d9a
Content hash
25ae7d9a
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#bf24687b
Content hash
bf24687b
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