DEENESPTFRRUARHIKOZHNL

네임스페이스 <SI-Namespace>::proxy::methods

사용자 가이드AI 생성

일반 서비스 호출 및 Fire-and-Forget 작업을 위한 프록시 측 메서드 클래스를 제공합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 7fa554ce3c3b 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

일반 서비스 호출 및 Fire-and-Forget 작업을 위한 프록시 측 메서드 클래스를 제공합니다.

네임스페이스 <SI-Namespace>::proxy::methods은 AUTOSAR Adaptive Platform의 모듈 com에서 ServiceInterface의 메서드 호출을 위한 프록시 측 클래스를 제공합니다. 각 ClientServerOperation에 대해 메타모델 속성 ClientServerOperation.fireAndForget에 따라 일반 호출을 위한 클래스 <Method> 또는 단방향 호출을 위한 <FnFMethod>이 인스턴스화됩니다. 일반 메서드는 서버 측 반환값과 오류 메시지를 지원하는 반면, Fire-and-Forget 메서드는 원칙적으로 응답 메시지를 처리하지 않습니다. 이때 메서드 객체의 수명은 상위 프록시 인스턴스의 존재에 직접 바인딩될 것으로 보입니다. 질문 (열림)

컨텍스트

네임스페이스 <SI-Namespace>::proxy::methods은 AUTOSAR Adaptive Platform의 모듈 com 내에서 서비스 프록시를 위한 메서드별 인터페이스 클래스를 매핑합니다. ServiceInterface에 모델링된 각 ClientServerOperation은 구성 속성에 따라 해당 메서드 클래스에 매핑됩니다. 이때 네임스페이스에는 본질적으로 두 가지 클래스 패턴이 포함됩니다. 즉, 응답 동작이 있는 작업을 위한 <Method>와 소위 Fire-and-Forget 작업을 위한 <FnFMethod>입니다.

이러한 클래스의 주된 책임은 클라이언트 애플리케이션의 메서드 호출을 수신하고, 전송을 위해 전달 매개변수를 준비하며, 기반 미들웨어 계층과의 통신을 처리하는 것입니다. 상호작용 파트너는 호출자 측에서는 애플리케이션별 클라이언트 구성요소이며, 중개 측에서는 메서드 인스턴스를 집계하는 네임스페이스 <SI-Namespace>::proxy의 상위 프록시 클래스입니다.

두 클래스의 구분은 메타모델 속성 ClientServerOperation.fireAndForget에 따릅니다:

  • <Method>은 ClientServerOperation.fireAndForget == FALSE이 구성된 작업에 대해 생성됩니다. 아마도 이 클래스의 인스턴스는 서비스의 비동기 호출을 캡슐화하고 향후 결과를 제공하는 결과 타입을 통해 결과 또는 가능한 애플리케이션 오류를 제공할 것으로 추정됩니다. 질문 Q-75c8a4495ee9c1cb (열림)
  • <FnFMethod>은 ClientServerOperation.fireAndForget == TRUE이 구성된 경우 생성됩니다. 이 클래스의 메서드는 서버로부터 응답을 기대하지 않고 호출자에게 반환값을 제공하지 않는 단방향 호출로 구현될 것으로 보입니다. 질문 Q-1f9698a27137b73d (열림)

수명 주기

이 네임스페이스에 정의된 메서드 클래스의 생성 및 소멸은 상위 프록시와 밀접하게 결합되어 있습니다. 메서드 객체의 수명은 네임스페이스 <SI-Namespace>::proxy의 감싸는 프록시 인스턴스 수명에 바인딩될 것으로 보입니다. 질문 Q-ec1ef4d1ebc90d5a (열림) 프록시 객체가 인스턴스화될 때 연관된 <Method> 및 <FnFMethod>의 인스턴스가 멤버로 초기화되며 애플리케이션에서 호출할 수 있도록 즉시 사용 가능한 상태가 됩니다.

내부 상태와 관련하여, 메서드 객체는 초기화 후 프록시 인스턴스가 유효한 상태로 유지되는 한 지속적인 호출 준비 상태를 갖습니다. 개별 호출의 상태 전이는 메서드 인스턴스 자체가 아니라 개별 호출 컨텍스트에 영향을 미칩니다. 클라이언트 애플리케이션의 여러 스레드에서 동시 접근하는 경우 동일한 메서드 인스턴스의 병렬 호출이 스레드 안전하게 시작될 수 있도록 보장해야 합니다. 소멸은 유효 범위를 벗어나거나 프록시 인스턴스가 명시적으로 소멸될 때 암시적으로 수행되며, 미해결 통신 리소스가 정리됩니다.

사용 경로

클라이언트 애플리케이션이 메서드 클래스를 사용하는 전형적인 흐름은 정해진 순서를 따릅니다:

  1. 프록시 제공: 애플리케이션은 <SI-Namespace>::proxy 네임스페이스에서 서비스 프록시의 초기화된 인스턴스를 생성하거나 획득합니다.
  2. 메서드 액세스: 원하는 작업의 호출은 <Method> 또는 <FnFMethod> 클래스를 인스턴스화하는 프록시 인스턴스의 메서드 멤버를 통해 수행됩니다.
  3. 일반 작업 실행: <Method>의 인스턴스를 호출할 때 클라이언트는 필수 입력 매개변수를 전달합니다. 이 호출은 대상 시스템으로의 전송을 트리거합니다. 애플리케이션은 반환 객체를 통해 결과의 도착을 대기하거나 비동기적으로 작업을 계속 진행할 수 있습니다.
  4. Fire-and-Forget 작업 실행: <FnFMethod>의 인스턴스를 호출할 때 매개변수가 전달되고 전송 계층으로 전달되도록 즉시 전송됩니다. 메서드는 호출자에게 전달된 직후 즉시 반환됩니다.
  5. 결과 처리: 일반 메서드 호출의 경우 클라이언트는 제공된 결과를 평가하고 작업이 성공적으로 완료되었는지 확인합니다.

오류 시나리오

오류 처리는 두 메서드 유형 간에 근본적으로 다릅니다: <Method>을 통한 일반 작업의 경우 전송 계층의 오류뿐만 아니라 인터페이스 정의에 지정된 특정 애플리케이션 오류도 발생할 수 있습니다. ClientServerOperation.fireAndForget == FALSE이 구성되어 있으므로 가능한 오류 메시지를 포함한 응답 메시지가 서버에서 프록시로 다시 보고됩니다. 클라이언트 애플리케이션은 호출의 반환 객체를 통해 이러한 오류를 평가하고 적절한 처리 루틴을 시작할 수 있습니다.

이와 대조적으로 <FnFMethod>의 설계는 ClientServerOperation.fireAndForget == TRUE로 인해 원칙적으로 호출자에 대한 서버 측 오류 피드백을 배제합니다. 작업 처리 중 서버에서 발생하는 오류는 프록시로 전송될 수 없습니다. 사전 조건 및 사후 조건은 로컬 호출 측으로 제한됩니다: 사전 조건에는 유효한 매개변수 값과 사용 준비가 된 통신 인프라가 필요합니다. 발송 시 로컬 오류가 발생하는 경우 메서드 호출 시 즉시 신호가 전달될 수 있지만, 서버 측 실행 오류는 호출자가 인지하지 못한 채로 유지됩니다.

이 가이드는 AUTOSAR 명세 데이터를 기반으로 인공지능에 의해 생성되었습니다.

클래스

<FnFMethod> 클래스

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

<Method> 클래스

Service proxy method class, one for each ClientServerOperation ( ClientServerOperation.fireAndForget ==FALSE) defined in the ServiceInterfac

클래스 다이어그램

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::methods cluster_c0 <SI-Namespace>::proxy::methods::<Method> n_SI_Namespace___proxy__methods___FnFMethod_ <FnFMethod> n_SI_Namespace___proxy__methods___Method_ <Method> n_SI_Namespace___proxy__methods___Method___Output «struct» Output