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
此方法会使用平台提供的底层计时器机制来注册单次计时器。

公共类型

Epoch

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 个示例之间执行计时器封装时,两个输入值之间的差值只超过纪元标量范围的一半。

详细信息
返回值
如果第一个参数早于第二个,则为 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
无条件。