DEENESPTFRRUARHIKOZHNL

结构体 ara::tsync::UserData

[SWS_TS_14230] Upstream: RS_TS_00014 原文尚未导入

struct UserData {...};

Structure to define user data. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Forwarding-Header#include "ara/tsync/tsync_fwd.h"
Scopenamespace ara::tsync

用户指南人工智能生成

提供用于为同步时基传输少量应用特定有效负载数据的缓冲区。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 44e6e39606c3 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

提供用于为同步时基传输少量应用特定有效负载数据的缓冲区。

结构体 ara::tsync::UserData 用于在同步时基的背景下传输紧凑的应用特定有效负载数据。它管理一个静态缓冲区,具有通过 kMaxUserDataSize 定义的不可变 3 字节上限 [SWS_TS_14231]。应用程序将有效负载数据写入该数组,并通过字段 size 指示实际有效字节数 [SWS_TS_14232]。作为一个关键边界条件,应用编程逻辑必须确保 size 绝不超过规定的最大容量,并避免访问未初始化的缓冲区区域。

上下文

数据结构 ara::tsync::UserData 在 AUTOSAR Adaptive Platform 的时间同步功能集群(tsync)中用于封装同步时基背景下的应用特定有效负载数据。该结构体在头文件 ara/tsync/synchronized_time_base_status.h 中声明。其首要职责是为与时间信息一起传输或评估的应用附加数据提供紧凑且静态分配的存储区域。该有效负载数据的最大大小通过静态常量 kMaxUserDataSize 固定为恰好 3 字节 [SWS_TS_14231]。用于缓冲实际有效负载数据字节的是 ara::core::Array<ara::core::Byte, kMaxUserDataSize> 类型的数组 data [SWS_TS_14233]。补充该缓冲区的是字段 size,该字段标明缓冲区中实际有效的有效负载数据字节数 [SWS_TS_14232]。解读:根据头文件 ara/tsync/synchronized_time_base_status.h 中的定义位置,UserData 可能主要用作传输诸如控制标志或计数器等少量应用相关附加信息的状态字段。作为交互伙伴出现的通常是查询或传递同步时基状态的时钟源服务与接收应用程序。 问题 Q-a0fb20686141f042 (未决)

生命周期

作为普通的 C++ 结构体(值对象),UserData 没有复杂的内部生命周期,且完全不使用动态内存分配。实例通常在栈上创建,或作为上层状态结构的嵌入数据元素存在。初始化直接通过成员初始化或标准 C++ 赋值完成。关于所有权关系,该结构体遵循值语义:创建组件完全拥有其本地实例,并通过复制或引用将其传递给接口。由于 UserData 未实现内部同步机制或互斥锁,因此从多个线程对同一实例进行并发读写访问不是线程安全的。应用程序必须通过外部同步措施来确保并发访问的安全性,而在并发上下文中可以安全地使用彼此独立的实例。销毁操作不需要显式清理资源,因为包含的数据字段 data [SWS_TS_14233] 是静态预留的。

使用路径

典型使用路径包括数据缓冲区的填充、传递和评估。首先,发送或提供状态的组件创建 UserData 的实例。随后,将有效负载数据复制到数组 data 中,最多允许占用 kMaxUserDataSize 个字节 [SWS_TS_14231], [SWS_TS_14233]。紧接着,该组件将字段 size 设置为实际写入的字节数 [SWS_TS_14232]。在接收端,处理应用程序首先检查 size 的值 [SWS_TS_14232]。如果 size 大于零,应用程序将从缓冲区 data [SWS_TS_14233] 中精确读取该有效前缀。该范围之外的值,即从索引 size 到 kMaxUserDataSize - 1,将被忽略,因为它们可能包含未定义或过期的残留数据。

错误场景

UserData 中的错误情况主要由大小规格与缓冲区容量之间的不一致引起。如果字段 size 取值超过了所定义的 3 字节最大大小 kMaxUserDataSize [SWS_TS_14231],则违反了规范限制。在这种情况下,迭代读取 data [SWS_TS_14233] 时可能面临缓冲区溢出或访问超出定义数组边界的风险。另一个风险在于当 size 等于零时 [SWS_TS_14232] 错误读取 data,因为在该状态下不存在有效的有效负载数据。结构体本身不会生成错误码或异常;因此,先决条件(尤其是 size <= kMaxUserDataSize)的验证完全由应用编程逻辑负责。

本指南基于 AUTOSAR Adaptive R25-11 规范。所有说明均基于所引用的 SWS 要求。

成员图

类图

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

G nara__tsync__UserData398 «struct» UserData + data + kMaxUserDataSize + size

详细视图

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

常量

data 变量

User data buffer (maximum size: kMaxUserDataSize). .

Maximum number of user data bytes. .

static constexpr std::size_t kMaxUserDataSize = 3u;
size 变量

Number of valid user data bytes in data. .

常量 / 变量文档

变量 data [SWS_TS_14233] Upstream: RS_TS_00014 原文尚未导入

ara::core::Array<ara::core::Byte, kMaxUserDataSize> data;

User data buffer (maximum size: kMaxUserDataSize). .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
Symboldata
Typara::core::Array< ara::core::Byte, kMaxUserDataSize >

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

Record
AUTOSAR/AP/record/SWS_TS_14233
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14233@rel:R25-11#8aee7d82
Content hash
8aee7d82
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14233
Status: valid/unmigrated Version: rel:R25-11#1f27c5a4 Versionshistorie & Revisions (1 transition)
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_TS_14233@rel:R25-11#1f27c5a4
Point-in-Time History:
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

变量 kMaxUserDataSize [SWS_TS_14231] Upstream: RS_TS_00014 原文尚未导入

static constexpr std::size_t kMaxUserDataSize = 3u;

Maximum number of user data bytes. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
SymbolkMaxUserDataSize
Typstd::size_t

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

Record
AUTOSAR/AP/record/SWS_TS_14231
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14231@rel:R25-11#a5e95635
Content hash
a5e95635
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14231
Status: valid/unmigrated Version: rel:R25-11#df87c9f1 Versionshistorie & Revisions (1 transition)
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_TS_14231@rel:R25-11#df87c9f1
Point-in-Time History:
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

变量 size [SWS_TS_14232] Upstream: RS_TS_00014 原文尚未导入

std::size_t size;

Number of valid user data bytes in data. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
Symbolsize
Typstd::size_t

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

Record
AUTOSAR/AP/record/SWS_TS_14232
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14232@rel:R25-11#95d00db6
Content hash
95d00db6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14232
Status: valid/unmigrated Version: rel:R25-11#ddf624eb Versionshistorie & Revisions (1 transition)
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_TS_14232@rel:R25-11#ddf624eb
Point-in-Time History:
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