DEENESPTFRRUARHIKOZHNL

пространство имён <SI-Namespace>::proxy::methods

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

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

Предоставляет предназначенные для прокси классы методов для регулярных вызовов сервисов и операций Fire-and-Forget.

Пространство имён <SI-Namespace>::proxy::methods предоставляет предназначенные для прокси классы для вызовов методов ServiceInterface в модуле com платформы AUTOSAR Adaptive Platform. Для каждого ClientServerOperation в зависимости от атрибута метамодели ClientServerOperation.fireAndForget создаётся экземпляр либо класса <Method> для регулярных вызовов, либо класса <FnFMethod> для однонаправленных вызовов. В то время как регулярные методы поддерживают возвращаемые сервером значения и сообщения об ошибках, методы Fire-and-Forget принципиально не обрабатывают ответные сообщения. При этом время жизни объектов методов, вероятно, напрямую связано с существованием вышестоящего экземпляра прокси. Вопрос (открытый)

Контекст

Пространство имён <SI-Namespace>::proxy::methods внутри модуля com платформы AUTOSAR Adaptive Platform представляет специфичные для методов классы интерфейсов сервисных прокси. Каждое ClientServerOperation, смоделированное в ServiceInterface, отображается на соответствующий класс метода в зависимости от параметров своей конфигурации. При этом пространство имён содержит главным образом два шаблона классов: <Method> для операций с ответом и <FnFMethod> для так называемых операций Fire-and-Forget.

Основная обязанность этих классов состоит в том, чтобы принимать вызовы методов от клиентского приложения, подготавливать передаваемые параметры для транспортировки и выполнять обмен данными с базовым уровнем промежуточного программного обеспечения. Партнёрами по взаимодействию на вызывающей стороне являются прикладные компоненты клиента, а на стороне координации — вышестоящий прокси-класс пространства имён <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