DEENESPTFRRUARHIKOZHNL

模块 ara::tsync — Time Synchronization

Spezifikation: AUTOSAR_AP_SWS_TimeSynchronization.pdf (R25-11) · 141 API-Records

模块指南人工智能生成

提供整车同步的时基,并使应用程序能够进行精确的时间查询和状态监控。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 29e900d376f8 来源 未决问题(2)
因果锚点:R25-11 自 R25-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

提供整车同步的时基,并使应用程序能够进行精确的时间查询和状态监控。

功能集群 Time Synchronization 为 AUTOSAR Adaptive Platform 提供一致且全网同步的时基(AUTOSAR_AP_SWS_TimeSynchronization 第16页)。自适应应用程序通过标准化接口查询原子时间状态,或者作为活动主时钟向整个系统输入新的时间和速率校正。同时,已注册的通知器回调持续监控基础时钟的状态更改和时间跳变([SWS_TS_01009])。用于验证测量数据和新鲜度值的高级机制可确保时间完整性免受传输错误和篡改的影响。

功能集群 Time Synchronization(tsync)在 AUTOSAR Adaptive Platform 上提供一致且全网同步的时基(AUTOSAR_AP_SWS_TimeSynchronization 第16页)。作为基于守护进程的后台服务,它抽象了特定于硬件和总线的同步机制(如 IEEE 802.1AS gPTP),并通过标准化接口为 Log and Trace、Intrusion Detection System Manager (IdsM) 以及更新服务等核心集群提供支持(AUTOSAR_AP_EXP_SWArchitecture 第83页)。

diag_tsync_architektur cluster_platform Adaptive Platform Core cluster_consumers Konsumierende Functional Cluster cluster_apps Adaptive Applications tsync Time Synchronization (daemon-based) fvm apext::tsync::FVM (Platform Extension) tsync->fvm GetTxFreshness() GetRxFreshness() log Log and Trace (ara::log) tsync->log SynchronizedTimeBaseConsumer idsm Intrusion Detection System Manager tsync->idsm SynchronizedTimeBaseConsumer ucm Update and Config Management tsync->ucm SynchronizedTimeBaseConsumer app_consumer Consumer Application (SynchronizedTimeBaseConsumer) tsync->app_consumer GetTimeWithStatus() Notifier validator Validator Application (ValidationNotification) tsync->validator Timing Measurement Data app_provider Provider / Time Master (SynchronizedTimeBaseProvider) app_provider->tsync SetTime() UpdateTime()

上下文图:基于守护进程的 Time-Synchronization 集群在 AUTOSAR Adaptive Platform 中的嵌入情况及其与消费集群和应用程序的接口关系。来源:AUTOSAR_AP_SWS_TimeSynchronization 第16页、AUTOSAR_AP_EXP_SWArchitecture 第83页、AUTOSAR_AP_EXP_SWArchitecture 第83页

应用程序使用接口 SynchronizedTimeBaseConsumer 进行读取访问([SWS_TS_01001])。方法 GetTimeWithStatus() 返回类型为 SynchronizedTimeBaseStatus 的原子快照,从中可以获取全局时间、本地单调创建时间、同步状态以及接收到的 UserData([SWS_TS_01009]、[SWS_TS_01055]、[SWS_TS_14176])。为避免轮询,应用程序通过通知器回调注册状态更改和时间跳变([SWS_TS_01010]、[SWS_TS_01014])。

同步查询时间与快照状态ApplicationSynchronizedTimeBaseConsumerTSyncDaemonSynchronizedTimeBaseStatusGetTimeWithStatus()IPC: Abfrage aktueller Zeitbasis-Zustand时间与状态原始数据<<create>> Snapshot erzeugen返回:SynchronizedTimeBaseStatusGetCreationTime()Timestamp (globale Zeit)GetCreationLocalTime()Timestamp (lokale stetige Zeit)GetSynchronizationStatus()SynchronizationStatus

时序图:通过消费者接口进行同步时间查询以及读取原子快照属性的流程。来源:[SWS_TS_01009]、[SWS_TS_01055]、[SWS_TS_14176]、AUTOSAR_AP_EXP_SWArchitecture 第225页

提供时间的应用程序通过 SynchronizedTimeBaseProvider 控制系统行为:SetTime() 触发即时总线传输,而 UpdateTime() 首先在本地调整时钟([SWS_TS_01101]、[SWS_TS_01107]、[SWS_TS_01108])。辅助机制如 Time Validation([SWS_TS_00420]、[SWS_TS_00421])和原生 Freshness Value Management(FVM)可防止漂移和重放错误([SWS_TS_14198])。发生错误时,TsyncErrc 代码(例如 kDaemonConnectionLost)指示连接中断,而同步报文的缺失在状态对象中显示为 kTimeOut([SWS_TS_00901]、[SWS_TS_01050])。

功能集群 Time Synchronization(tsync)在 AUTOSAR Adaptive Platform 上提供协调的、全网同步的时基,并将应用进程与特定于硬件和总线的时间同步协议解耦(AUTOSAR_AP_SWS_TimeSynchronization 第16页)。该系统构成了分布式系统的信息技术基础,在这些分布式系统中必须保证跨 ECU 边界的一致事件序列、可复现的 Trace 协议和确定性计算周期(AUTOSAR_AP_EXP_SWArchitecture 第83页)。

diag_tsync_architektur cluster_platform Adaptive Platform Core cluster_consumers Konsumierende Functional Cluster cluster_apps Adaptive Applications tsync Time Synchronization (daemon-based) fvm apext::tsync::FVM (Platform Extension) tsync->fvm GetTxFreshness() GetRxFreshness() log Log and Trace (ara::log) tsync->log SynchronizedTimeBaseConsumer idsm Intrusion Detection System Manager tsync->idsm SynchronizedTimeBaseConsumer ucm Update and Config Management tsync->ucm SynchronizedTimeBaseConsumer app_consumer Consumer Application (SynchronizedTimeBaseConsumer) tsync->app_consumer GetTimeWithStatus() Notifier validator Validator Application (ValidationNotification) tsync->validator Timing Measurement Data app_provider Provider / Time Master (SynchronizedTimeBaseProvider) app_provider->tsync SetTime() UpdateTime()

上下文图:基于守护进程的 Time-Synchronization 集群在 AUTOSAR Adaptive Platform 中的嵌入情况及其与消费集群和应用程序的接口关系。来源:AUTOSAR_AP_SWS_TimeSynchronization 第16页、AUTOSAR_AP_EXP_SWArchitecture 第83页、AUTOSAR_AP_EXP_SWArchitecture 第83页

基于守护进程的 Time-Synchronization 集群的系统边界与角色

Time Synchronization 的功能架构实现为基于守护进程的集群(daemon-based),该守护进程作为中央平台服务在后台运行(AUTOSAR_AP_SWS_TimeSynchronization 第16页)。该守护进程直接与底层操作系统的接口交互,并处理基于网络的时间同步数据,例如 gPTP(IEEE 802.1AS)或经典的基于总线的时间同步(AUTOSAR_FO_PRS_TimeSyncProtocol 第68页)。对于应用上下文,该集群完全封装了硬件时钟的数学漂移和偏差补偿。

Adaptive Platform 的众多核心功能集群通过标准化服务接口访问 tsync(AUTOSAR_AP_EXP_SWArchitecture 第83页)。例如,Log and Trace 依靠同步的时间基准,为全系统范围的日志和 DLT 事件提供可靠的全局时间戳(AUTOSAR_AP_EXP_SWArchitecture 第59页;AUTOSAR_AP_SWS_LogAndTrace 第15页)。安全相关模块(如 Intrusion Detection System Manager (IdsM))以及更新服务(UCM 和 Vehicle UCM)也必须依赖 SynchronizedTimeBaseConsumer 的 C++ 接口,以跨越 ECU 边界控制具备取证效力的报告和一致的更新事务(AUTOSAR_AP_EXP_SWArchitecture 第125页;AUTOSAR_AP_SWS_UpdateAndConfigurationManagement 第16页;AUTOSAR_AP_SWS_VehicleUpdateAndConfigurationManagement 第11页)。

消费型接口与有状态时间查询

对于同步时间基准的读访问,应用程序使用接口类 SynchronizedTimeBaseConsumer([SWS_TS_01001])。该类实现了移动语义([SWS_TS_01003],[SWS_TS_01004]),但显式排除了任何复制操作([SWS_TS_01005],[SWS_TS_01006])。在运行时,GetRateDeviation() 允许直接读取时钟当前的频率偏差([SWS_TS_01008])。

每次同步查询的核心元素是操作 GetTimeWithStatus()([SWS_TS_01009])。该方法并不返回孤立的原始时间值,而是生成一个类型为 SynchronizedTimeBaseStatus 的自洽快照(EXP_SWArchitecture 第81页)。该快照冻结了全局时间下的准确创建时间点([SWS_TS_01055])以及通过 GetCreationLocalTime() 记录的本地单调时间([SWS_TS_14176])。在此过程中,时间点采用标准化的 C++ chrono 类型 Timestamp 表示,并在 std::int64_t 的基础上具备纳秒级分辨率([SWS_TS_01251],[SWS_TS_01261],[SWS_TS_01262])。

从快照中除了时间之外,还可以通过 GetSynchronizationStatus() 获取通信和同步状态([SWS_TS_01053]),通过 GetLeapJump() 获取可能发生的时间跳变([SWS_TS_01054]),以及通过 GetUserData() 获取特定于应用的用户数据([SWS_TS_01056])。该状态对象不存在默认构造函数([SWS_TS_01061]),而移动与复制构造函数确保了其向调用方应用程序例程的线程安全传递([SWS_TS_01057],[SWS_TS_01058])。

同步查询时间与快照状态ApplicationSynchronizedTimeBaseConsumerTSyncDaemonSynchronizedTimeBaseStatusGetTimeWithStatus()IPC: Abfrage aktueller Zeitbasis-Zustand时间与状态原始数据<<create>> Snapshot erzeugen返回:SynchronizedTimeBaseStatusGetCreationTime()Timestamp (globale Zeit)GetCreationLocalTime()Timestamp (lokale stetige Zeit)GetSynchronizationStatus()SynchronizationStatus

时序图:通过消费者接口进行同步时间查询以及读取原子快照属性的流程。来源:[SWS_TS_01009]、[SWS_TS_01055]、[SWS_TS_14176]、AUTOSAR_AP_EXP_SWArchitecture 第225页

基于事件的通知与同步监控

为了避免轮询循环,SynchronizedTimeBaseConsumer 通过通知回调提供了一种事件驱动的观察者模式(AUTOSAR_AP_EXP_SWArchitecture 第226页)。应用程序通过类型安全的回调针对特定的状态变化进行注册([SWS_TS_14221],[SWS_TS_14222])。每次重新注册时,新的通知程序都会覆盖先前注册的处理程序([SWS_TS_01010])。

针对聚合状态变化,提供了 RegisterStatusChangeNotifier()([SWS_TS_01010]),并辅以 UnregisterStatusChangeNotifier()([SWS_TS_01011])。如果应用程序主要响应同步状态的改变(例如丢失 Grandmaster 连接),则使用 RegisterSynchronizationStateChangeNotifier()([SWS_TS_01012])。超过配置阈值的向未来(kTimeLeapFuture)或向过去(kTimeLeapPast)的时间跳变将通过 RegisterTimeLeapNotifier() 进行报告([SWS_TS_01014],[SWS_TS_01051])。

对于机电高精度应用,还提供了 RegisterTimePrecisionMeasurementNotifier()([SWS_TS_01018])。该回调传递一个结构体 TimePrecisionMeasurement,其中包含紧接在同步之前(locSeconds,locNanoSeconds)和紧接在同步之后(glbSeconds,glbNanoSeconds)的精确秒和纳秒值、计算出的路径延迟 pathDelay 以及位掩码 timeBaseStatus([SWS_TS_01401],[SWS_TS_01403],[SWS_TS_01406],[SWS_TS_01408])。Time Synchronization 集群在此过程中不执行队列管理(Queuing);如有必要,必须在应用程序回调内部实现缓冲([SWS_TS_01018])。

用于状态切换和时间跳变的观察者模式ApplicationSynchronizedTimeBaseConsumerTSyncDaemonRegisterSynchronizationStateChangeNotifier(syncNotifier)RegisterTimeLeapNotifier(leapNotifier)Use Case: 守护程序中的网络事件Erkennung Statuswechsel / Leap JumpIPC Event:状态事件或跳变事件alt同步状态已更改syncNotifier(SynchronizationStatus)Zeitsprung erkanntleapNotifier(SynchronizedTimeBaseStatus)

时序图:同步更改和时间跳变时的注册与异步通知流。来源:[SWS_TS_01010]、[SWS_TS_01012]、[SWS_TS_01014]、AUTOSAR_AP_EXP_SWArchitecture 第226页

diag_sync_status init kNotSynchronizedUntilStartup kNotSynchronized UntilStartup (Initial) init->kNotSynchronizedUntilStartup kSynchronized kSynchronized (Synchron) kNotSynchronizedUntilStartup->kSynchronized 首个有效同步报文 kTimeOut kTimeOut (Timeout) kNotSynchronizedUntilStartup->kTimeOut Startup-Timeout kSynchronized->kTimeOut Sync-Nachrichten ausgeblieben kTimeOut->kSynchronized Sync wiederhergestellt

状态图:根据 SWS_TS_01050 规定的时间基准同步状态生命周期。来源:[SWS_TS_01050]、AUTOSAR_SWS_TimeSync 第25页

提供者对时间基准的提供与频率调整

如果 Adaptive Application 充当活动的时间源(Time Master)——例如通过连接到 GNSS 接收器或外部参考时钟——它将使用类 SynchronizedTimeBaseProvider([SWS_TS_01101])。该接口允许通过两种不同的语义显式设置新的时间值:SetTime() 和 UpdateTime()(EXP_SWArchitecture 第80页)。

调用 SetTime() 不仅会重置内部时钟状态,还会强制立即在车辆总线上发送更新后的同步消息([SWS_TS_01107])。相比之下,UpdateTime() 最初仅在本地更新时间;向总线的传输将在时间传输协议的常规后续周期中延迟进行([SWS_TS_01108])。除了时间戳之外,这两种方法都接收结构化的 UserData,以便在全网络范围内分发伴随同步的附加信息([SWS_TS_01112],[SWS_TS_01113])。

为了微调石英晶体振荡器并避免突然的相位跳变,SetRateCorrection() 允许施加相对频率校正因子([SWS_TS_01110])。作为补充,GetRateDeviation() 提供当前存在的时钟偏差([SWS_TS_01111]),而 GetCurrentTime() 则独立于当前同步状态读取时钟的绝对时间值([SWS_TS_01109])。

通过 Time Validation 和 Freshness Value Management 实现完整性保障

在安全关键和高度自动化的驾驶环境中,仅采集时间值是不够的;必须持续验证时间戳的正确性与防篡改性(AUTOSAR_AP_SWS_TimeSynchronization 第38页)。为此,tsync 提供了用于 Time Validation 的回调接口:使用者通过 RegisterTimeValidationNotification() 进行注册([SWS_TS_01016]),提供者类似地通过特定于提供者的方法进行注册([SWS_TS_01114])。

验证接口 ConsumerTimeBaseValidationNotification 和 ProviderTimeBaseValidationNotification 将详细的测量数据集传递给专门的监控应用程序([SWS_TS_01300],[SWS_TS_01301])。在主站(Master)处,SetMasterTimingData() 提供已发送 Sync 帧的出站时间戳(syncEgressTimestamp)和序列号(sequenceId)([SWS_TS_00421],[SWS_TS_14141],[SWS_TS_14142])。在从站(Slave)级别,SetSlaveTimingData() 传递相应的入站时间戳(syncIngressTimestamp)、接收到的校正字段(correctionField)以及测量到的路径延迟(pDelay)([SWS_TS_00420],[SWS_TS_14152],[SWS_TS_14153],[SWS_TS_14155])。对于对等(Peer-to-Peer)延迟测量,SetPdelayInitiatorData() 和 SetPdelayResponderData() 完整提供请求和响应数据包的入站和出站时间点([SWS_TS_00422],[SWS_TS_00423],[SWS_TS_14160],[SWS_TS_14170])。

为了防御重放攻击并保护传输的时间消息,该平台通过命名空间 apext::tsync 中的原生接口集成了 Freshness Value Management (FVM)([SWS_TS_14198],EXP_SWArchitecture 第83页)。在启动期间,Initialize() 初始化负责的 FVM 插件([SWS_TS_14200])。在发送之前,协议栈调用 GetTxFreshness() 以获取最新的计数值([SWS_TS_14199]),而在接收时则使用 GetRxFreshness() 进行验证和身份验证([SWS_TS_14198])。在此过程中,数据通过标准化的 FVContainer 进行传输([SWS_TS_14195],[SWS_TS_14196])。

Time-Validation 测量数据的采集与传递MasterPortSlavePortMasterValidatorSlaveValidatorSync frameEgress-Zeitstempel T1 erfassenIngress-Zeitstempel T2 erfassenFollow_Up frame (preciseOriginTimestamp, correctionField)SetMasterTimingData(TimeMasterMeasurementType)SetSlaveTimingData(TimeSlaveMeasurementType)Use Case: Pdelay-MessungPdelay_ReqPdelay_Resp + Follow_UpSetPdelayInitiatorData(PdelayInitiatorMeasurementType)SetPdelayResponderData(PdelayResponderMeasurementType)

时序图:Master、Slave 与外部验证器应用程序之间的定时测量数据验证流。来源:[SWS_TS_00420]、[SWS_TS_00421]、AUTOSAR_AP_SWS_TimeSynchronization 第38页

配置、进程绑定与清单建模

集群的分配和功能绑定是在 AUTOSAR 模型清单中以声明方式完成的(AUTOSAR_AP_TPS_ManifestSpecification 第590页)。在 Machine Manifest 中,平台守护进程通过元模型元素 TimeSyncModuleInstantiation 在具体的 Machine 上实例化,并在该处管理物理及虚拟 TimeBaseResource 对象(AUTOSAR_AP_TPS_ManifestSpecification 第590页)。

在应用层,各进程通过端口原型(用于使用者的 RPortPrototype 或用于提供者的 PPortPrototype)声明其对时间基准的需求(AUTOSAR_AP_TPS_ManifestSpecification 第599页)。元模型构造 TimeSyncPortPrototypeToTimeBaseMapping 针对各个进程将这些端口与在机器上定义的时间基准链接起来(TPS_ManifestSpecification 第599页;AUTOSAR_AP_TPS_ManifestSpecification 第600页)。在运行时,通过类型安全的 ara::core::InstanceSpecifier 在代码中执行实例化,从而使协议栈绑定正确的已配置时间基准([SWS_TS_01001],[SWS_TS_01101])。

发生错误时的行为

Time Synchronization 集群中的错误情况通过 Adaptive Platform 的标准化错误模型(ara::core::Result 和 ara::core::ErrorCode)进行指示([SWS_TS_00910])。对于常规时间基准操作,枚举 TsyncErrc 定义了错误代码([SWS_TS_00901])。例如,如果与平台守护进程的进程间通信中断,则返回错误代码 kDaemonConnectionLost([SWS_TS_00901])。

通过全局错误域 TsyncErrorDomain,可以检查错误代码([SWS_TS_00905],[SWS_TS_00906],[SWS_TS_00907]),或者在启用 C++ 异常时通过 ThrowAsException() 作为 TsyncException 抛出([SWS_TS_00903],[SWS_TS_00908],[SWS_TS_00909])。对于 Freshness Value Management,存在具有枚举 TsyncFvmErrc 的独立错误域 TsyncFvmErrorDomain([SWS_TS_14201],[SWS_TS_14202])。如果初始化失败,Initialize() 将返回错误 kFVInitializeFailed([SWS_TS_14200]),而在用于身份验证检查的计数器不可用时,将报告 kFVNotAvailable([SWS_TS_14202])。

在功能层面上,该集群不一定通过同步 API 错误来指示时间消息的丢失,而是在状态对象中将时间基准标记为通信状态 kTimeOut([SWS_TS_01050])或在 timeBaseStatus 中设置相应的位([SWS_TS_01403])。解释:因此,在将测量值用于安全关键型控制回路之前,应用程序始终有责任在执行 GetTimeWithStatus() 后主动检查快照的有效性状态。 问题 Q-0cd9bb48452ae3db (未决)

进一步详细证据

模块 tsync 的核心需求和规范要点可归纳为以下重点:

本模块指南基于 AUTOSAR Adaptive 规范 R25-11 自动生成。

function: 70 variable: 37 type alias: 12 class: 10 struct: 8 enumeration: 4

apext::tsync

A freshness value container to hold the length of freshness value in bits and the freshness value itself as vector.

FVM 类

A freshness value management interface for ara::tsync.

Defines a class representing the Freshness Value Manager error domain.

继承自 ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the Freshness Value Manager.

继承自 ara::core::Exception

Returns a reference to the global apext::tsync::TsyncFvmErrorDomain object.

constexpr const ara::core::ErrorDomain & GetTsyncFvmErrorDomain () noexcept;

Creates an instance of ara::core::ErrorCode.

constexpr ara::core::ErrorCode MakeErrorCode (TsyncFvmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

The enumeration class defines the error codes for the apext::tsync:: TsyncFvmErrorDomain.

enum class TsyncFvmErrc : ara::core::ErrorDomain::CodeType {...};

ara::tsync

Callback interface to notify Consumer Application about the availability of a new data block recorded for the Time Base

Structure with detailed timing data for the pDelay Initiator .

Structure with detailed timing data for the pDelay Responder .

Callback interface to notify (Validator) Application about the availability of a new data block recorded for the Time Base

Class SynchronizedTimeBaseConsumer is the access to the synchronized timebase referenced by the InstanceSpecifier

Class SynchronizedTimeBaseProvider is the access to the synchronized timebase referenced by the IntstanceSpecifier

This class represents a snapshot of a time point including his states

The class TimeBase is a pseudo-clock

Structure with detailed data for validation of the Time Master .

Structure with detailed data for precision measurement of the Time Slave .

Structure with detailed data for validation of the Time Slave .

Defines a class representing the Time Synchronization error domain.

继承自 ara::core::ErrorDomain

Defines a class for exceptions to be thrown by the Time Synchronization.

继承自 ara::core::Exception

Structure to define user data

Returns a reference to the global TsyncErrorDomain object.

const ara::core::ErrorDomain & GetTsyncErrorDomain () noexcept;

Creates an instance of ErrorCode.

LeapJump 枚举

Enumeration that is used to express the leap jump of a time base. .

enum class LeapJump : std::uint32_t {...};

Enumeration that is used to express the communication state of a time base. .

enum class SynchronizationStatus : std::uint32_t {...};
TsyncErrc 枚举

Defines an enumeration class for the Time Synchronization error codes.

enum class TsyncErrc : ara::core::ErrorDomain::CodeType {...};

Notifier function .

using SynchronizationNotifier = std::function<void(const SynchronizationStatus&)>;

Notifier function .

using SynchronizedTimeBaseNotifier = std::function<void(const SynchronizedTimeBaseStatus&)>;

Notifier function .

using TimePrecisionNotifier = std::function<void(const TimePrecision Measurement&)>;
Timestamp 类型别名

Standard timestamp type as alias of a generic time_point .

命名空间

模块的 UML 类图

Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.

G cluster_1 apext::tsync cluster_2 ara::tsync napext__tsync__FVContainer955 «struct» FVContainer napext__tsync__FVM697 FVM napext__tsync__TsyncFvmErrorDomain111 TsyncFvmErrorDomain nara__core__ErrorDomain335 ara::core::ErrorDomain napext__tsync__TsyncFvmErrorDomain111->nara__core__ErrorDomain335 napext__tsync__TsyncFvmException780 TsyncFvmException nara__core__Exception792 ara::core::Exception napext__tsync__TsyncFvmException780->nara__core__Exception792 nara__tsync__ConsumerTimeBaseValidationNotification118 ConsumerTimeBaseValidationNotification nara__tsync__PdelayInitiatorMeasurementType279 «struct» PdelayInitiatorMeasurementType nara__tsync__PdelayResponderMeasurementType5 «struct» PdelayResponderMeasurementType nara__tsync__ProviderTimeBaseValidationNotification786 ProviderTimeBaseValidationNotification nara__tsync__SynchronizedTimeBaseConsumer483 SynchronizedTimeBaseConsumer nara__tsync__SynchronizedTimeBaseProvider954 SynchronizedTimeBaseProvider nara__tsync__SynchronizedTimeBaseStatus758 SynchronizedTimeBaseStatus nara__tsync__TimeBase940 «struct» TimeBase nara__tsync__TimeMasterMeasurementType777 «struct» TimeMasterMeasurementType nara__tsync__TimePrecisionMeasurement344 «struct» TimePrecisionMeasurement nara__tsync__TimeSlaveMeasurementType161 «struct» TimeSlaveMeasurementType nara__tsync__TsyncErrorDomain367 TsyncErrorDomain nara__tsync__TsyncErrorDomain367->nara__core__ErrorDomain335 nara__tsync__TsyncException184 TsyncException nara__tsync__TsyncException184->nara__core__Exception792 nara__tsync__UserData398 «struct» UserData