nl::Weave::System::Timer

#include <src/system/SystemTimer.h>

Das ist eine interne Klasse der Weave-System-Layer, die einen laufenden One-Shot-Timer darstellt.

Zusammenfassung

Für die Anwendungsebene ist keine öffentliche Schnittstelle verfügbar. Die statischen öffentlichen Methoden zum Abrufen der aktuellen Systemzeit sind für die interne Verwendung vorgesehen.

Übernahme

Übernimmt von: nl::Weave::System::Object

Öffentliche Typen

Epoch typedef.
uint64_t
Stellt eine Epoche in der lokalen Systemzeitskala dar, in der Regel die POSIX-Zeitskala.
OnCompleteFunct)(Layer *aLayer, void *aAppState, Error aError) typedef.
void(*

Öffentliche Attribute

OnComplete
OnCompleteFunct

Öffentliche statische Funktionen

GetCurrentEpoch(void)
Diese Methode gibt die aktuelle Epoche in Millisekunden zurück, die durch den System-Ruhemodus mit der Systemzeitskala korrigiert wurde.
GetStatistics(nl::Weave::System::Stats::count_t & aNumInUse, nl::Weave::System::Stats::count_t & aHighWatermark)
void
IsEarlierEpoch(const Epoch & first, const Epoch & second)
bool
Vergleicht zwei Timer::Epoch-Werte und gibt "true" zurück, wenn der erste Wert vor dem zweiten Wert liegt.

Öffentliche Funktionen

Cancel(void)
Error
Mit dieser Methode wird das Timer-Objekt de-initialisiert und verhindert, dass dieser Timer ausgelöst wird, wenn dies nicht der Fall ist.
Start(uint32_t aDelayMilliseconds, OnCompleteFunct aOnComplete, void *aAppState)
Error
Diese Methode registriert einen One-Shot-Timer mit dem zugrunde liegenden Timer-Mechanismus der Plattform.

Öffentliche Typen

Epoch

uint64_t Epoch

Stellt eine Epoche in der lokalen Systemzeitskala dar, in der Regel die POSIX-Zeitskala.

Die Einheiten sind kontextabhängig. Bei Verwendung mit Werten, die von GetCurrentEpoch zurückgegeben werden, sind die Einheiten Millisekunden.

OnCompleteFunct

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

Öffentliche Attribute

OnComplete

OnCompleteFunct OnComplete

Öffentliche statische Funktionen

GetCurrentEpoch

Epoch GetCurrentEpoch(
  void
)

Diese Methode gibt die aktuelle Epoche in Millisekunden zurück, die durch den System-Ruhemodus mit der Systemzeitskala korrigiert wurde.

VERWORFEN. Verwende stattdessen System::Layer::GetClock_MonotonicMS().

Details
Rückgabe
Ein Zeitstempel in Millisekunden.

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
)

Vergleicht zwei Timer::Epoch-Werte und gibt "true" zurück, wenn der erste Wert vor dem zweiten Wert liegt.

Eine statische API, die zum Vergleichen zweier Zeitwerte aufgerufen wird. Diese API versucht, den Timer-Wrap zu berücksichtigen, indem sie davon ausgeht, dass die Differenz zwischen den beiden Eingabewerten nur mehr als die Hälfte des Epochenskalarbereichs betragen würde, wenn zwischen den beiden Stichproben ein Timer-Wrapping erfolgt ist.

Details
Rückgabe
"true", wenn der erste Parameter vor dem zweiten liegt, andernfalls "false".

Öffentliche Funktionen

Abbrechen

Error Cancel(
  void
)

Mit dieser Methode wird das Timer-Objekt de-initialisiert und verhindert, dass dieser Timer ausgelöst wird, wenn dies nicht der Fall ist.

Details
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Bedingungslos.

Start

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

Diese Methode registriert einen One-Shot-Timer mit dem zugrunde liegenden Timer-Mechanismus der Plattform.

Details
Parameter
[in] aDelayMilliseconds
Anzahl der Millisekunden, nach der dieser Timer ausgelöst wird
[in] aOnComplete
Ein Zeiger auf die Callback-Funktion, wenn dieser Timer ausgelöst wird
[in] aAppState
Beliebiger Zeiger, der beim Auslösen dieses Timers an onComplete übergeben wird
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Bedingungslos.