nl::Weave::System::Timer

#include <src/system/SystemTimer.h>

它是 Weave System Layer 的内部类,用于表示进行中的单发计时器。

摘要

应用层没有真正的公共接口。用于获取当前系统时间的静态公共方法仅供内部使用。

继承

继承自: nl::Weave::System::Object

公共类型

Epoch typedef
uint64_t
表示本地系统时间刻度(通常为 POSIX 时间刻度)中的一个纪元。
OnCompleteFunct)(Layer *aLayer, void *aAppState, Error aError) typedef
void(*

公共属性

OnComplete
OnCompleteFunct

公共静态函数

GetCurrentEpoch(void)
此方法会返回当前周期,该纪元由具有系统时间刻度的系统休眠校正(以毫秒为单位)。
GetStatistics(nl::Weave::System::Stats::count_t & aNumInUse, nl::Weave::System::Stats::count_t & aHighWatermark)
void
IsEarlierEpoch(const Epoch & first, const Epoch & second)
bool
比较两个 Timer::Epoch 值,如果第一个值早于第二个值,则返回 true。

公共函数

Cancel(void)
Error
此方法用于取消初始化计时器对象,并阻止此计时器触发(如果未这样做)。
Start(uint32_t aDelayMilliseconds, OnCompleteFunct aOnComplete, void *aAppState)
Error
此方法通过平台提供的底层计时器机制注册一次性计时器。

公共类型

纪元

uint64_t Epoch

表示本地系统时间刻度(通常为 POSIX 时间刻度)中的一个纪元。

单位取决于上下文。如果与 GetCurrentEpoch 返回的值一起使用,则单位为毫秒。

OnCompleteFunct

void(* OnCompleteFunct)(Layer *aLayer, void *aAppState, Error aError)

公共属性

OnComplete

OnCompleteFunct OnComplete

公共静态函数

GetCurrentEpoch

Epoch GetCurrentEpoch(
  void
)

此方法会返回当前周期,该纪元由具有系统时间刻度的系统休眠校正(以毫秒为单位)。

已弃用,请改用 System::Layer::GetClock_MonotonicMS()

具体说明
返回值
时间戳(以毫秒为单位)。

GetStatistics

void GetStatistics(
  nl::Weave::System::Stats::count_t & aNumInUse,
  nl::Weave::System::Stats::count_t & aHighWatermark
)

IsEarlierEpoch

bool IsEarlierEpoch(
  const Epoch & first,
  const Epoch & second
)

比较两个 Timer::Epoch 值,如果第一个值早于第二个值,则返回 true。

调用以比较 2 个时间值的静态 API。此 API 尝试通过假设 2 个输入值之间的差值仅在 2 个示例之间发生计时器封装,而仅超过新纪元标量范围的一半,从而考虑计时器封装问题。

具体说明
返回值
如果第一个参数早于第二个参数,则返回 true,否则返回 false。

公共函数

取消

Error Cancel(
  void
)

此方法用于取消初始化计时器对象,并阻止此计时器触发(如果未这样做)。

具体说明
返回值
WEAVE_SYSTEM_NO_ERROR
无条件。

开始

Error Start(
  uint32_t aDelayMilliseconds,
  OnCompleteFunct aOnComplete,
  void *aAppState
)

此方法通过平台提供的底层计时器机制注册一次性计时器。

具体说明
参数
[in] aDelayMilliseconds
此计时器触发前经过的毫秒数
[in] aOnComplete
此计时器触发时指向回调函数的指针
[in] aAppState
此计时器触发时要传递到 onComplete 的任意指针
返回值
WEAVE_SYSTEM_NO_ERROR
无条件。