nl::Weave::System::Timer

#include <src/system/SystemTimer.h>

Đây là một lớp nội bộ cho Layer của Hệ thống Weave, dùng để biểu thị bộ tính giờ chụp một lần đang diễn ra.

Tóm tắt

Không có giao diện công khai thực 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 hệ thống hiện tại 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
Biểu thị 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(*

Các 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, được điều chỉnh bằng chế độ ngủ của hệ thống với thang thời gian hệ thống, tính bằng mili giây.
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 tạo đối tượng bộ tính giờ và ngăn bộ tính giờ này kích hoạt nếu không 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ế bộ tính giờ cơ bản do nền tảng cung cấp.

Loại công khai

Epoch

uint64_t Epoch

Biểu thị 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 ngữ cảnh. Nếu được dùng cùng với các giá trị do GetCurrentEpoch trả về, các đơn vị là mili giây.

OnCompleteFunct

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

Các 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, được điều chỉnh bằng chế độ ngủ của hệ thống với thang thời gian hệ thống, tính bằng mili giây.

ĐÃ NGỪNG HOẠT ĐỘNG Vui lòng sử dụng System::Layer::GetClock_MonotonicMS() thay vào đó.

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 một khoảng thời gian xuống giữa 2 mẫu đã xảy ra.

Thông tin chi tiết
Trả về
true nếu tham số đầu tiên sớm hơn tham số thứ hai, nếu không thì tham số này sẽ là false.

Hàm công khai

Huỷ

Error Cancel(
  void
)

Phương thức này sẽ huỷ khởi tạo đối tượng bộ tính giờ và ngăn bộ tính giờ này kích hoạt nếu không 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ế bộ tính giờ cơ bản do nền tảng cung cấp.

Thông tin chi tiết
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ỏ trỏ đến hàm callback khi bộ tính giờ này kích hoạt
[in] aAppState
Một con trỏ tuỳ ý được truyề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.