nl::Weave::System::Timer

#include <src/system/SystemTimer.h>

這是 Weave 系統圖層的內部類別,用來代表處理中的一次性計時器。

摘要

應用程式層沒有實際的公用介面。用於擷取目前系統時間的靜態公開方法僅供內部使用。

繼承

沿用自: nl::Weave::System::Object

公開類型

Epoch typedef
uint64_t
代表當地系統時間量的 Epoch,通常是 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

代表當地系統時間量的 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。

呼叫這個靜態 API 來比較 2 個時間值。如果 2 個樣本之間出現計時器包裝的情況,這個 API 會嘗試考量計時器包裝作業,並假設 2 個輸入值之間的差異僅超過 Epoch 純量範圍的一半。

詳細資料
傳回
如果第一個參數早於第二個參數則傳回 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
無條件。