nl::Weave::System::Timer

#include <src/system/SystemTimer.h>

Đây là lớp nội bộ của Hệ thống Weave Lớp, dùng để thể hiện bộ tính giờ một lần đang thực hiện.

Tóm tắt

Không có giao diện công khai thực sự nào cho lớp ứng dụng. Các phương thức công khai tĩnh dùng để lấy thời gian hiện tại của hệ thống dành cho mục đích sử dụng nội bộ.

Tính kế thừa

Kế thừa từ: nl::Weave::System::Object

Loại công khai

Epoch typedef
uint64_t
Đại diện cho một thời gian bắt đầu của hệ thống trong thang thời gian của hệ thống cục bộ, thường là thang thời gian POSIX.
OnCompleteFunct)(Layer *aLayer, void *aAppState, Error aError) typedef
void(*

Thuộc tính công khai

OnComplete
OnCompleteFunct

Hàm tĩnh công khai

GetCurrentEpoch(void)
Phương thức này trả về thời gian bắt đầu của hệ thống hiện tại (tính bằng mili giây) đã được hiệu chỉnh theo chế độ ngủ của hệ thống với thang thời gian của hệ thống.
GetStatistics(nl::Weave::System::Stats::count_t & aNumInUse, nl::Weave::System::Stats::count_t & aHighWatermark)
void
IsEarlierEpoch(const Epoch & first, const Epoch & second)
bool
So sánh hai giá trị Timer::Epoch và trả về true nếu giá trị đầu tiên sớm hơn giá trị thứ hai.

Hàm công khai

Cancel(void)
Error
Phương thức này sẽ huỷ khởi động đối tượng bộ tính giờ và ngăn bộ tính giờ này kích hoạt nếu chưa thực hiện.
Start(uint32_t aDelayMilliseconds, OnCompleteFunct aOnComplete, void *aAppState)
Error
Phương thức này đăng ký bộ tính giờ một lần bằng cơ chế hẹn giờ cơ bản do nền tảng cung cấp.

Loại công khai

Kỷ nguyên

uint64_t Epoch

Đại diện cho một thời gian bắt đầu của hệ thống trong thang thời gian của hệ thống cục bộ, thường là thang thời gian POSIX.

Các đơn vị này phụ thuộc vào bối cảnh. Nếu được dùng với các giá trị do GetCurrentEpoch trả về, thì đơn vị sẽ được tính bằng mili giây.

OnCompleteFunct

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

Thuộc tính công khai

OnComplete

OnCompleteFunct OnComplete

Hàm tĩnh công khai

GetCurrentEpoch

Epoch GetCurrentEpoch(
  void
)

Phương thức này trả về thời gian bắt đầu của hệ thống hiện tại (tính bằng mili giây) đã được hiệu chỉnh theo chế độ ngủ của hệ thống với thang thời gian của hệ thống.

KHÔNG DÙNG NỮA Vui lòng sử dụng System::Layer::GetClock_MonotonicMS() thay thế.

Thông tin chi tiết
Trả về
Dấu thời gian tính bằng mili giây.

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
)

So sánh hai giá trị Timer::Epoch và trả về true nếu giá trị đầu tiên sớm hơn giá trị thứ hai.

Một API tĩnh được gọi để so sánh 2 giá trị thời gian. API này cố gắng tính đến việc gói bộ tính giờ bằng cách giả định rằng sự khác biệt giữa 2 giá trị đầu vào sẽ chỉ lớn hơn một nửa phạm vi vô hướng Epoch nếu quá trình gói bộ tính giờ xảy ra giữa 2 mẫu.

Thông tin chi tiết
Trả về
giá trị true (đúng) nếu tham số đầu tiên sớm hơn tham số thứ hai, nếu không tham số false (sai).

Hàm công khai

Hủy

Error Cancel(
  void
)

Phương thức này sẽ huỷ khởi động đối tượng bộ tính giờ và ngăn bộ tính giờ này kích hoạt nếu chưa thực hiện.

Thông tin chi tiết
Giá trị trả về
WEAVE_SYSTEM_NO_ERROR
Vô điều kiện.

Bắt đầu

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

Phương thức này đăng ký bộ tính giờ một lần bằng cơ chế hẹn giờ cơ bản do nền tảng cung cấp.

Thông tin chi tiết
Các tham số
[in] aDelayMilliseconds
Số mili giây trước khi bộ tính giờ này kích hoạt
[in] aOnComplete
Con trỏ đến hàm callback khi bộ tính giờ này kích hoạt
[in] aAppState
Một con trỏ tuỳ ý sẽ được chuyển vào onComplete khi bộ tính giờ này kích hoạt
Giá trị trả về
WEAVE_SYSTEM_NO_ERROR
Vô điều kiện.