функция CommCtrlRequest [SWS_DM_00808] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04170, RS_Diag_04278
virtual ara::core::Future< void > CommCtrlRequest (ComCtrlRequest ParamsType controlType, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Called for CommunicationControl (0x28) with any subfunction as subfunction value is part of the argument list.
Чисто виртуальный метод ara::diag::CommunicationControl::CommCtrlRequest ([SWS_DM_00808]) вызывается экземпляром Diagnostic Server для обработки диагностических запросов UDS-сервиса 0x28 (CommunicationControl) ([SWS_DM_00865], SWS Diagnostics §7.3.2.8.10 «Service 0x28 – CommunicationControl»). Все параметры UDS-запроса, включая подфункцию, передаются в совокупности через структуру controlType ([SWS_DM_00808]). Вызов возвращает ara::core::Future<void>, благодаря чему обработка выполняется асинхронно. Через параметр cancellationHandler приложение может с помощью IsCanceled() опрашивать состояние отмены или через SetNotifier() регистрировать функцию обратного вызова для отмены сессии взаимодействия ([SWS_DM_00808]).
Если приложение завершает обработку без ошибок, Diagnostic Server отправляет положительный UDS-ответ ([SWS_DM_00199]). При возникновении ошибки о ней необходимо сообщить как о подходящем Negative Response Code (NRC) согласно ISO 14229-1 через ara::diag::DiagUdsNrcErrc ([SWS_DM_00808]); после этого сервер отвечает на запрос сервиса отрицательно с этим кодом ошибки ([SWS_DM_00866]). Несконфигурированные подфункции сервер заранее отклоняет с NRC 0x12 (kSubFunctionNotSupported) ([SWS_DM_00252]).
Метод объявлен с noexcept и безопасен к исключениям ([SWS_DM_00808], SWS Diagnostics §8.7.1.1.3.1 «CommCtrlRequest»). Его потокобезопасность является условной: должна ли функция быть реализована потокобезопасной, определяется через параметр конструктора ConcurrencyType экземпляра ([SWS_DM_00808]). Фактическое переключение режимов связи, вероятно, происходит асинхронно в фоновом режиме до разрешения Future. Вопрос Q-8a8e1bd2585fa859 (открытый)
Этот текст был создан и курирован ИИ. Все утверждения основаны исключительно на документах спецификации AUTOSAR R25-11.
Руководство разработчика реализации в подготовке (сложность I1)
| Header-Datei | #include "ara/diag/communication_control.h" |
|---|---|
| Scope | class ara::diag::CommunicationControl |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | conditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| controlType | All UDS request parameters packed into a structure since it holds optional elements |
| metaInfo | MetaInfo of the request. |
| cancellationHandler | This parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled. |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| ara::core::Future< void > | Returns nothing or an error. |
Fehler
| Fehlercode | Beschreibung |
|---|---|
| Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc. | |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_DM_00808- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_DM_00808@rel:R25-11#9a822f27- Content hash
9a822f27- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00808
Status: valid/unmigrated
Version: rel:R25-11#727dd05b
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_DM_00808@rel:R25-11#727dd05b
Recorded Revisions (8):
- R25-11
rel:R25-11#424df4222026-09-30 - R19-11
rel:R19-11#70e59b9a2026-10-14 - R20-11
rel:R20-11#35c65b602026-10-14 - R21-11
rel:R21-11#aa3f917f2026-10-14 - R22-11
rel:R22-11#21c3e83e2026-10-14 - R23-11
rel:R23-11#62deb4992026-10-14 - R24-11
rel:R24-11#f7c711472026-10-14 - R25-11
rel:R25-11#727dd05b2026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал