DEENESPTFRRUARHIKOZHNL

структура ara::diag::SovdOperationExecution::GetStatusResponse

[SWS_DM_02200] Upstream: RS_Diag_04262

struct GetStatusResponse {...};

Get Status response .

Header-Datei#include "ara/diag/generic_diagnostic_sovd_operation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::SovdOperationExecution

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

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

Служит структурой возврата для асинхронного запроса статуса операций SOVD к Diagnostic Management.

Структура данных GetStatusResponse служит контейнером возвращаемых данных для асинхронного запроса статуса операций SOVD ([SWS_DM_02200]). Она передается экземпляром SovdOperationExecution через ara::core::Future в Diagnostic Management, который извлекает из нее атрибуты status и parameters для ответа ASAM SOVD ([SWS_DM_02181]). Необходимым условием для предоставления является успешная валидация близости (Proximity), а также безошибочное асинхронное выполнение вызова.

Контекст

Структура ara::diag::SovdOperationExecution::GetStatusResponse представляет собой структуру данных ответа Adaptive Platform ([SWS_DM_02200]), используемую в качестве стандартизированного контейнера возврата при запросе статуса операций SOVD (Service-Oriented Vehicle Diagnostics) (AUTOSAR_AP_SWS_Diagnostics §8.62.6 «Struct: GetStatusResponse»). Внутри модуля diag структура действует как интерфейсный элемент между диагностическим демоном Diagnostic Management (DM) и прикладными службами диагностики, реализующими интерфейс SovdOperationExecution. При поступлении в Diagnostic Management внешнего SOVD-вызова для запроса статуса операции («Read the Status of an operation») DM перенаправляет этот запрос соответствующему экземпляру ([SWS_DM_02180]). GetStatusResponse инкапсулирует полученные данные о состоянии и результате и позволяет DM сконструировать стандартный ответ в соответствии с ASAM SOVD ([SWS_DM_02181]).

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

В качестве структуры данных (struct GetStatusResponse) экземпляр обычно создается в контексте сервисного приложения, как только для обработки вызывается виртуальный метод SovdOperationExecution::GetStatus. Объект встраивается как значение в ara::core::Future<GetStatusResponse>, предписываемый сигнатурой асинхронного метода в качестве возвращаемого типа (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Интерпретация: GetStatusResponse, вероятно, спроектирована как чистый объект передачи значений, время жизни которого тесно связано с соответствующей парой Future и Promise. Вопрос Q-e5e2b31a97df0af4 (открытый) Как только прикладное определение завершается и Future выполняется, доступ к данным переходит к вызывающему Diagnostic Management. После считывания атрибутов для формирования ответа SOVD ([SWS_DM_02181]) время жизни структуры заканчивается, и она штатно уничтожается.

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

Стандартная процедура запроса статуса операции включает в себя взаимодействие нескольких компонентов:

  1. Внешний клиент SOVD отправляет метод «Read the Status of an operation» с заданным execution-id в DM ([SWS_DM_02180]).
  2. DM проверяет запрос и при необходимости выполняет валидацию Proximity Challenge ([SWS_DM_02173]).
  3. После успешной проверки DM адресует на основе execution-id соответствующий экземпляр SovdOperationExecution ([SWS_DM_02177]) и вызывает его метод GetStatus(meta_info, cancellation_handler) ([SWS_DM_02180], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).
  4. Приложение определяет состояние выполнения, заполняет GetStatusResponse значением статуса (status), а также выходными параметрами (Parameters из DiagnosticSovdContentData) и предоставляет объект через ara::core::Future ([SWS_DM_02181]).
  5. DM извлекает данные из предоставленного GetStatusResponse, устанавливает поле capability в execute и отправляет тело ответа клиенту в соответствии с ASAM SOVD ([SWS_DM_02181]).
Процесс запроса статуса операции SOVDSOVD-ClientDiagnostic ManagementSovdOperationExecutionRead the Status of an operation (execution-id)optТребуется проверка близости (Proximity)proximity_challenge validieren [SWS_DM_02173]GetStatus(meta_info, cancellation_handler)Status & Parameters ermittelnGetStatusResponse erzeugenFuture<GetStatusResponse>SOVD Response (status, parameters, capability)

Диаграмма последовательности: взаимодействие при запросе статуса операции через GetStatusResponse. Источники: [SWS_DM_02180], [SWS_DM_02181], AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus», [SWS_DM_02173]

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

Обработка и успешный обмен GetStatusResponse зависят от нескольких предусловий и путей обработки ошибок:

  • Если требуемый Proximity Challenge завершается неудачно ([SWS_DM_02173]), DM вовсе не вызывает метод GetStatus ([SWS_DM_02180]); инстанцирование или анализ GetStatusResponse в этом случае полностью исключаются.
  • Метод SovdOperationExecution::GetStatus объявлен как noexcept (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»). Следовательно, ошибки при определении статуса не должны распространяться через исключения C++, а должны асинхронно сигнализироваться через путь ошибки ara::core::Future.
  • Если выполнение метода не удается (условие «succeeded» не выполнено), штатная компоновка успешного ответа SOVD не производится ([SWS_DM_02181]).
  • Через переданный объект ara::diag::CancellationHandler текущая операция может быть уведомлена о запросе на отмену (AUTOSAR_AP_SWS_Diagnostics §8.62 «GetStatus»).

Данное руководство создано ИИ и основано на спецификации AUTOSAR R25-11.