DEENESPTFRRUARHIKOZHNL

类 ara::diag::CommunicationControl

[SWS_DM_00804] Upstream: RS_Diag_04278

class CommunicationControl {...};

0x28 CommunicationControl interface

Header-Datei#include "ara/diag/communication_control.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

用户指南人工智能生成

使应用程序能够处理 UDS 服务 0x28 的诊断请求以进行通信控制。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ae3aac538bd3 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使应用程序能够处理 UDS 服务 0x28 的诊断请求以进行通信控制。

类 ara::diag::CommunicationControl 在 AUTOSAR Adaptive 中用作处理用于切换通信信道的 UDS 服务 0x28 (CommunicationControl) 的接口 [SWS_DM_00808]。在通过 InstanceSpecifier 进行基于模型的实例化之后,Offer() 激活 Diagnostic Manager 对请求的转发,随后这些请求通过 CommCtrlRequest 进行异步处理 [SWS_DM_00806],[SWS_DM_00809]。作为一个严格的唯一实例,该类排除了复制和移动操作,并要求在退出前通过 StopOffer() 进行注销 [SWS_DM_00810]。

上下文

类 ara::diag::CommunicationControl 定义了在 AUTOSAR Adaptive Platform 中处理 UDS 诊断服务 0x28 (CommunicationControl) 的标准化接口 AUTOSAR_AP_SWS_Diagnostics, 第70页。作为抽象基类,它在 Diagnostic Manager (DM) 与应用程序特定的诊断功能之间进行调解,通过该功能控制在车辆网络中发送或接收特定通信消息。应用程序软件派生自该类并实现纯虚方法 CommCtrlRequest,以接收并执行传入的控制指令 [SWS_DM_00808]。通过引用 DiagnosticComControlInterface 的 PortPrototype 的 ara::core::InstanceSpecifier 完成与 AUTOSAR 系统模型的绑定 [SWS_DM_00806]。

生命周期

通过显式指定 ara::core::InstanceSpecifier 以及并发模型 ConcurrencyType(kConcurrent 或 kNotConcurrent)经由构造函数创建实例 [SWS_DM_00806]。该类具有严格的唯一实例语义,既不可复制也不可移动:复制构造函数 [SWS_DM_01677] 和移动构造函数 [SWS_DM_01678] 以及复制赋值运算符 [SWS_DM_01675] 和移动赋值运算符 [SWS_DM_01676] 均已被删除(=delete)。

创建后,该实例最初保持非活动状态。只有通过调用 Offer(),Diagnostic Manager 才被授权将传入的诊断请求转发给处理程序 [SWS_DM_00809]。相反,StopOffer() 撤销此授权并禁用转发 [SWS_DM_00810]。销毁通过虚析构函数 [SWS_DM_00807] 进行。解释:在销毁对象之前可能需要调用 StopOffer(),以使 Diagnostic Manager 不会维持孤立的转发。 问题 Q-f67e35c9fea508d8 (未决)

在并发性方面,构造函数是线程安全的 [SWS_DM_00806],而析构函数 [SWS_DM_00807]、Offer() [SWS_DM_00809] 和 StopOffer() [SWS_DM_00810] 不是线程安全的。CommCtrlRequest 的执行是条件线程安全的(conditional):实现是否必须是线程安全的,由在构造函数中指定的 ConcurrencyType 决定 [SWS_DM_00808]。

使用路径

常规流程包括派生类的实例化、服务注册、诊断请求的异步处理以及最终的注销:

  1. 初始化:应用程序在指定 InstanceSpecifier 和所需的 ConcurrencyType 的情况下实例化处理程序 [SWS_DM_00806]。
  2. 服务提供:通过 Offer() 在 Diagnostic Manager 处激活该服务 [SWS_DM_00809]。
  3. 请求处理:如果收到带有任意子功能的针对服务 0x28 的 UDS 请求,Diagnostic Manager 将调用 CommCtrlRequest [SWS_DM_00808]。参数包括:
    • controlType(ComCtrlRequestParamsType):包括可选元素在内的所有 UDS 请求参数。
    • metaInfo(const MetaInfo&):诊断请求的元信息。
    • cancellationHandler(CancellationHandler):用于通过 IsCanceled() 查询状态以及通过 SetNotifier() 注册取消回调函数。
  4. 反馈:处理异步完成并通过 ara::core::Future<void> 报告结果 [SWS_DM_00808]。
  5. 注销:在关闭或退出之前,应用程序使用 StopOffer() 停止转发 [SWS_DM_00810]。
CommunicationControl (0x28) 的调用和处理流程应用CommunicationControlDiagnostic ManagerKonstruktor(specifier, concurrencyType)Offer()针对 UDS 0x28 的注册确认(或 kAlreadyOffered)Result<void>Use Case: Diagnoseanfrage bearbeitenCommCtrlRequest(controlType, metaInfo, cancellationHandler)Verarbeitung / Abfrage cancellationHandlerFuture<void>(成功或 DiagUdsNrcErrc)Use Case: Dienst deregistrierenStopOffer()Weiterleitung beenden

时序图:从初始化、UDS 0x28 请求处理到注销的典型流程。来源:[SWS_DM_00806],[SWS_DM_00808],[SWS_DM_00809],[SWS_DM_00810]。

错误场景

在构造期间,AUTOSAR 模型中的不一致就可能导致运行时违规(Violations)[SWS_DM_00806]:

  • InstanceSpecifierMappingIntegrityViolation:InstanceSpecifier 无法在可执行文件的上下文中解析,或者未指向 PortPrototype。
  • PortInterfaceMappingViolation:由 DiagnosticComControlInterface 定型的 PortPrototype 未被 DiagnosticServiceGenericMapping 引用。
  • ProcessMappingViolation:存在匹配的实例引用,但不存在与当前进程匹配的建模进程。
  • InstanceSpecifierAlreadyInUseViolation:该标识符已在同一进程中被另一个实例使用。

在运行过程中,如果该服务先前已被提供且仍处于活动状态,则 Offer() 通过返回值 ara::core::Result<void> 报告错误 DiagOfferErrc::kAlreadyOffered [SWS_DM_00809]。如果在 CommCtrlRequest 中由于业务原因无法满足诊断请求,则该方法通过 ara::core::Future<void> 使用 DiagUdsNrcErrc 返回符合 ISO 14229-1 的 Negative Response Code (NRC) [SWS_DM_00808]。

本类指南由 AI 策展助手基于 AUTOSAR Adaptive R25-11 编写。

成员图

类图

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__CommunicationControl599 CommunicationControl + CommunicationControl() + operator=() + ~CommunicationControl() + CommCtrlRequest() + Offer() + StopOffer()

详细视图

请在大纲中选择一个条目。

构造函数和析构函数

Constructor of CommunicationControl.

重载 CommunicationControl 3
explicit CommunicationControl (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00806
CommunicationControl (CommunicationControl &)=delete; SWS_DM_01677
CommunicationControl (CommunicationControl &&) noexcept=delete; SWS_DM_01678

Destructor of class CommunicationControl.

virtual ~CommunicationControl () noexcept;

方法

Called for CommunicationControl (0x28) with any subfunction as subfunction value is part of the argument list.

virtual ara::core::Future< void > CommCtrlRequest (ComCtrlRequest ParamsType controlType, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Offer 函数

This Offer will enable the DM to forward request messages to this handler.

ara::core::Result< void > Offer () noexcept;
StopOffer 函数

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;

运算符

operator= 函数 2

CommunicationControl shall be a single not assignable instance.

重载 = 2

嵌套类型

方法文档

函数 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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 8fa21d673414 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

纯虚方法 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])。如果发生错误,必须通过 ara::diag::DiagUdsNrcErrc 将其作为符合 ISO 14229-1 的相应否定响应码(NRC)上报([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 (未决)

本文档由 AI 生成并整理。所有陈述均完全基于 AUTOSAR R25-11 的规范文档。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
controlTypeAll UDS request parameters packed into a structure since it holds optional elements
metaInfoMetaInfo of the request.
cancellationHandlerThis 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

TypBeschreibung
ara::core::Future< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
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#e757d2b2
Content hash
e757d2b2
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
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#424df4222026-09-30
  • R19-11rel:R19-11#70e59b9a2026-10-14
  • R20-11rel:R20-11#35c65b602026-10-14
  • R21-11rel:R21-11#aa3f917f2026-10-14
  • R22-11rel:R22-11#21c3e83e2026-10-14
  • R23-11rel:R23-11#62deb4992026-10-14
  • R24-11rel:R24-11#f7c711472026-10-14
  • R25-11rel:R25-11#727dd05b2026-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

函数 CommunicationControl [SWS_DM_00806] Upstream: RS_AP_00137, RS_Diag_04278, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit CommunicationControl (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Constructor of CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is typed by a pingViolation DiagnosticComControlInterface needs to be referenced by a DiagnosticServiceGenericMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticComControlInterface.
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent)..

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00806
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00806@rel:R25-11#da5af521
Content hash
da5af521
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00806
Status: valid/unmigrated Version: rel:R25-11#b906b7ef 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_00806@rel:R25-11#b906b7ef
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ca8fdfa92026-09-30
  • R19-11rel:R19-11#d7fe0baa2026-10-14
  • R20-11rel:R20-11#036e26a62026-10-14
  • R21-11rel:R21-11#036e26a62026-10-14
  • R22-11rel:R22-11#b571889a2026-10-14
  • R23-11rel:R23-11#934addf22026-10-14
  • R24-11rel:R24-11#726b2cfe2026-10-14
  • R25-11rel:R25-11#b906b7ef2026-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

函数 CommunicationControl [SWS_DM_01677] Upstream: RS_AP_00147

CommunicationControl (CommunicationControl &)=delete;

CommunicationControl shall be a single not copy-able instance.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01677
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01677@rel:R25-11#bc9f2cee
Content hash
bc9f2cee
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01677
Status: valid/unmigrated Version: rel:R25-11#5a19d864 Versionshistorie & Revisions (1 transition, 4 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_01677@rel:R25-11#5a19d864
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e585da4b2026-09-30
  • R23-11rel:R23-11#0dccfa442026-10-14
  • R24-11rel:R24-11#5a19d8642026-10-14
  • R25-11rel:R25-11#5a19d8642026-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

函数 CommunicationControl [SWS_DM_01678] Upstream: RS_AP_00147

CommunicationControl (CommunicationControl &&) noexcept=delete;

Move constructor of CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01678
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01678@rel:R25-11#d1090bea
Content hash
d1090bea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01678
Status: valid/unmigrated Version: rel:R25-11#6048a835 Versionshistorie & Revisions (1 transition, 4 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_01678@rel:R25-11#6048a835
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#2554e0632026-09-30
  • R23-11rel:R23-11#dd6e581d2026-10-14
  • R24-11rel:R24-11#6048a8352026-10-14
  • R25-11rel:R25-11#6048a8352026-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

函数 Offer [SWS_DM_00809] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04278

ara::core::Result< void > Offer () noexcept;

This Offer will enable the DM to forward request messages to this handler.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: e8c1958af1e8 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

类 ara::diag::CommunicationControl(头文件 #include "ara/diag/communication_control.h")的方法 Offer 允许 Diagnostic Management (DM) 将传入的通信控制诊断请求转发给提供服务的处理器实例 [SWS_DM_00809]。该调用不带参数并返回类型 ara::core::Result<void> [SWS_DM_00809]。由于未使用 ara::core::Future 或回调机制,因此执行应理解为同步的。

错误处理

如果成功,该函数返回空的 ara::core::Result。如果此前已针对该实例提供了服务,则调用失败并返回带有回滚语义的错误代码 DiagOfferErrc::kAlreadyOffered [SWS_DM_00809]。该错误状态对应于 Adaptive AUTOSAR 中诊断提供的统一错误处理,例如在 DiagErrc [SWS_DM_00514] 以及 DiagReportingErrc [SWS_DM_00560] 中所指定的。

并发性与限制

该函数被声明为 noexcept 且异常安全(exception safe),但明确为非线程安全(not thread-safe)[SWS_DM_00809]。因此,对同一实例的调用必须由调用应用程序进行同步,以防止注册时的竞态条件。

相互作用

通过 Offer 实现的注册模式是 Diagnostic Management 中的核心惯用法,并在各个处理器之间保持一致使用,例如例程 [SWS_DM_00557]、通用 UDS 服务 [SWS_DM_00619]、安全访问接口 [SWS_DM_00766] 以及上传和下载服务 [SWS_DM_00792] [SWS_DM_00802]。在此需要注意与通信基础设施的区分:正如 AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors” 中所强调的,这是一个特定于诊断的实现,切勿与 ara::com 混淆。

本使用说明由 AI 针对版本 R25-11 整理,完全基于 AUTOSAR Adaptive 的规范文档。

实现者指南即将推出(复杂度 I1)

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00809
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00809@rel:R25-11#40dcece2
Content hash
40dcece2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00809
Status: valid/unmigrated Version: rel:R25-11#5af0f990 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_00809@rel:R25-11#5af0f990
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a85f13212026-09-30
  • R19-11rel:R19-11#9f02ccdb2026-10-14
  • R20-11rel:R20-11#2be7c40f2026-10-14
  • R21-11rel:R21-11#6e3abbe82026-10-14
  • R22-11rel:R22-11#65d2217e2026-10-14
  • R23-11rel:R23-11#bbb1cf592026-10-14
  • R24-11rel:R24-11#246db6952026-10-14
  • R25-11rel:R25-11#5af0f9902026-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

函数 StopOffer [SWS_DM_00810] Upstream: RS_Diag_04278

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5bbcf442e7ca 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

类 ara::diag::CommunicationControl 的成员函数 StopOffer 用于停用 Diagnostic Management (DM) 向实例转发传入诊断请求消息 (Request Messages) 的功能 [SWS_DM_00810]。该接口通过头文件 ara/diag/communication_control.h 引入 AUTOSAR_AP_SWS_Diagnostics §8.7.1.1.3.3 “StopOffer”。该方法不接受传入参数且没有返回值(void)。

关于错误处理,该函数声明为 noexcept 并指定为异常安全(exception safe)[SWS_DM_00810]。在发生错误时,既不返回错误代码,也不触发特定的错误消息(例如 DEM 或 DET 事件)。

在并发方面,StopOffer 被明确归类为非线程安全(not thread-safe)[SWS_DM_00810]。因此,在 CommunicationControl 的同一实例上的并发调用必须在应用程序端进行同步。此外,调用合理地应在先前已提供该服务之后进行,例如当通信控制暂时不可用或应用程序正在关闭时。 问题 Q-c9079c49581363f7 (未决)

该概念遵循自适应诊断服务的标准化模式:相关类如 ara::diag::Authentication [SWS_DM_01131]、ara::diag::DownloadService [SWS_DM_00793]、ara::diag::EcuResetRequest [SWS_DM_01017] 和 ara::diag::GenericUDSService [SWS_DM_00620] 也使用具有类似语义的 StopOffer。正如规范中所解释的,命名虽然借鉴了 ara::com 中的服务提供,但代表了诊断接口的独立实现,不得与之混淆 AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 “Monitors”。

本使用说明由 AI 基于 AUTOSAR Adaptive R25-11 规范生成。

实现者指南即将推出(复杂度 I2)

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00810
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00810@rel:R25-11#3a874b8e
Content hash
3a874b8e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00810
Status: valid/unmigrated Version: rel:R25-11#c84b3f30 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_00810@rel:R25-11#c84b3f30
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e7d48b8a2026-09-30
  • R19-11rel:R19-11#28eab4cf2026-10-14
  • R20-11rel:R20-11#ee8709992026-10-14
  • R21-11rel:R21-11#ff87dbf12026-10-14
  • R22-11rel:R22-11#ae33a1b32026-10-14
  • R23-11rel:R23-11#4f252d562026-10-14
  • R24-11rel:R24-11#be84a84f2026-10-14
  • R25-11rel:R25-11#c84b3f302026-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

函数 operator= [SWS_DM_01675] Upstream: RS_AP_00147

CommunicationControl & operator= (CommunicationControl &)=delete;

CommunicationControl shall be a single not assignable instance.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01675
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01675@rel:R25-11#e100a5bf
Content hash
e100a5bf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01675
Status: valid/unmigrated Version: rel:R25-11#6b33e9a5 Versionshistorie & Revisions (1 transition, 4 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_01675@rel:R25-11#6b33e9a5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#732d4ac82026-09-30
  • R23-11rel:R23-11#d435003d2026-10-14
  • R24-11rel:R24-11#6b33e9a52026-10-14
  • R25-11rel:R25-11#6b33e9a52026-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

函数 operator= [SWS_DM_01676] Upstream: RS_AP_00147

CommunicationControl & operator= (CommunicationControl &&)=delete;

Move assignment operator of CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01676
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01676@rel:R25-11#864e491f
Content hash
864e491f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01676
Status: valid/unmigrated Version: rel:R25-11#3330d235 Versionshistorie & Revisions (1 transition, 4 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_01676@rel:R25-11#3330d235
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cfa3ff932026-09-30
  • R23-11rel:R23-11#fd2c0d6a2026-10-14
  • R24-11rel:R24-11#3330d2352026-10-14
  • R25-11rel:R25-11#3330d2352026-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

函数 ~CommunicationControl [SWS_DM_00807] Upstream: RS_AP_00134, RS_Diag_04278

virtual ~CommunicationControl () noexcept;

Destructor of class CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_00807
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00807@rel:R25-11#1b8ca7c7
Content hash
1b8ca7c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00807
Status: valid/unmigrated Version: rel:R25-11#fef30cdd 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_00807@rel:R25-11#fef30cdd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0d1c8e412026-09-30
  • R19-11rel:R19-11#50d5e63a2026-10-14
  • R20-11rel:R20-11#83d511c52026-10-14
  • R21-11rel:R21-11#3df09df82026-10-14
  • R22-11rel:R22-11#cf774c8f2026-10-14
  • R23-11rel:R23-11#b59cefc12026-10-14
  • R24-11rel:R24-11#058998e02026-10-14
  • R25-11rel:R25-11#fef30cdd2026-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