nl::Weave::System::Layer

#include <src/system/SystemLayer.h>

This provides access to timers according to the configured event handling model.

Zusammenfassung

Für WEAVE_SYSTEM_CONFIG_USE_SOCKETS wird die Benachrichtigung zur Ereignisbereitschaft über die traditionelle Abfrage-/Auswahl-Implementierung in der Plattformanpassung verarbeitet.

Bei WEAVE_SYSTEM_CONFIG_USE_LWIP wird die Benachrichtigung zur Ereignisbereitschaft über Ereignisse / Nachrichten sowie plattform- und systemspezifische Hooks für das Ereignis-/Nachrichtensystem verarbeitet.

Konstruktoren und Zerstörer

Layer(void)

Öffentliche Typen

EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument) typedef
Error(*
TimerCompleteFunct)(Layer *aLayer, void *aAppState, Error aError) typedef
void(*

Öffentliche Funktionen

AddEventHandlerDelegate(LwIPEventHandlerDelegate & aDelegate)
Error
Dadurch wird der Systemebene ein Ereignis-Handler-Delegate hinzugefügt, um die Fähigkeit zur Verarbeitung von LwIP-Ereignissen zu erweitern.
CancelTimer(TimerCompleteFunct aOnComplete, void *aAppState)
void
Mit dieser Methode wird ein Timer mit einer Aufnahme abgebrochen, der bis zum StartTimer() früher gestartet wurde.
DispatchEvent(Event aEvent)
Error
Dadurch wird das angegebene Ereignis zur Verarbeitung durch diese Instanz gesendet.
DispatchEvents(void)
Error
Dies ist ein syntaktischer Wrapper um einen plattformspezifischen Hook, der eine Ereignisschleife wirkt. Er wartet auf eine Warteschlange, die diese Instanz bedient, zieht Ereignisse aus dieser Warteschlange und sendet sie dann zur Verarbeitung.
GetPlatformData(void) const
void *
Dadurch werden alle clientspezifischen Plattformdaten zurückgegeben, die der Instanz zugewiesen sind, sofern sie zuvor festgelegt wurden.
HandleEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Dies implementiert die tatsächliche Weiterleitung und Verarbeitung eines Weave System-Layer-Ereignisses.
HandlePlatformTimer(void)
Error
Das Ereignis zum Ablauf des Plattform-Timers verarbeiten.
HandleSelectResult(int aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet)
void
Verarbeiten Sie E/A über einen ausgewählten Aufruf.
Init(void *aContext)
Error
NewTimer(Timer *& aTimerPtr)
Error
PostEvent(Object & aTarget, EventType aEventType, uintptr_t aArgument)
Error
Dadurch wird ein Ereignis oder eine Nachricht des angegebenen Typs mit dem angegebenen Argument an die plattformspezifische Ereigniswarteschlange dieser Instanz gesendet.
PrepareSelect(int & aSetSize, fd_set *aReadSet, fd_set *aWriteSet, fd_set *aExceptionSet, struct timeval & aSleepTime)
void
Bereiten Sie die Dateideskriptoren vor, mit denen select() arbeiten soll.
ScheduleWork(TimerCompleteFunct aComplete, void *aAppState)
Error
Plant eine Funktion mit einer Signatur, die mit TimerCompleteFunct identisch ist, so bald wie möglich im Weave-Thread ausgeführt wird.
SetPlatformData(void *aPlatformData)
void
Dadurch werden die angegebenen clientspezifischen Plattformdaten für die Instanz festgelegt, damit sie später von der Clientplattform abgerufen werden können.
Shutdown(void)
Error
StartTimer(uint32_t aMilliseconds, TimerCompleteFunct aComplete, void *aAppState)
Error
Bei dieser Methode wird ein Timer mit einer Aufnahme gestartet.
State(void) const
LayerState
Gibt den aktuellen Status des Ebenenobjekts zurück.
WakeSelect(void)
void
Beenden Sie den E/A-Thread, der die Dateideskriptoren mit select() überwacht, indem Sie ein einzelnes Byte in die Wake-Pipe schreiben.

Öffentliche statische Funktionen

GetClock_Monotonic(void)
uint64_t
Gibt eine monotone Systemzeit in Mikrosekundeneinheiten zurück.
GetClock_MonotonicHiRes(void)
uint64_t
Gibt eine (möglicherweise) hochauflösende monotone Systemzeit in Mikrosekundeneinheiten zurück.
GetClock_MonotonicMS(void)
uint64_t
Gibt eine monotone Systemzeit in Millisekundeneinheiten zurück.
GetClock_RealTime(uint64_t & curTime)
Error
Gibt die aktuelle reelle (zivile) Zeit im Unix-Zeitformat Mikrosekunden zurück.
GetClock_RealTimeMS(uint64_t & curTimeMS)
Error
Gibt die aktuelle reelle (zivile) Zeit im Unix-Zeitformat von Millisekunden zurück.
SetClock_RealTime(uint64_t newCurTime)
Error
Legt das Konzept der Plattform für die aktuelle reale (Bürger-)Zeit fest.

Öffentliche Typen

EventHandler

Error(* EventHandler)(Object &aTarget, EventType aEventType, uintptr_t aArgument)

TimerCompleteFunct

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

Öffentliche Funktionen

AddEventHandlerDelegate

Error AddEventHandlerDelegate(
  LwIPEventHandlerDelegate & aDelegate
)

Dadurch wird der Systemebene ein Ereignis-Handler-Delegate hinzugefügt, um die Fähigkeit zur Verarbeitung von LwIP-Ereignissen zu erweitern.

Details
Parameter
[in] aDelegate
Eine nicht initialisierte LwIP-Event-Handler-Delegatstruktur
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Bei Erfolg.
WEAVE_SYSTEM_ERROR_BAD_ARGS
Wenn der in aDelegate enthaltene Funktionszeiger NULL ist

CancelTimer

void CancelTimer(
  TimerCompleteFunct aOnComplete,
  void *aAppState
)

Mit dieser Methode wird ein Timer mit einer Aufnahme abgebrochen, der bis zum StartTimer() früher gestartet wurde.

Details
Parameter
[in] aOnComplete
Ein Zeiger auf die Callback-Funktion, die beim Aufrufen von StartTimer() verwendet wird.
[in] aAppState
Ein Zeiger auf das Anwendungsstatusobjekt, das beim Aufrufen von StartTimer() verwendet wird.

DispatchEvent

Error DispatchEvent(
  Event aEvent
)

Dadurch wird das angegebene Ereignis zur Verarbeitung durch diese Instanz gesendet.

Das Unmarshalling des Typs und der Argumente des Ereignisses erfolgt über einen plattformspezifischen Hook, der dann für die tatsächliche Weiterleitung Layer::HandleEvent zurückruft.

Details
Parameter
[in] aEvent
Das plattformspezifische Ereignisobjekt, das für die Verarbeitung ausgelöst werden soll.
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg; andernfalls ein bestimmter Fehler, der den Grund für das Fehlschlagen der Initialisierung angibt.

DispatchEvents

Error DispatchEvents(
  void
)

Dies ist ein syntaktischer Wrapper um einen plattformspezifischen Hook, der eine Ereignisschleife wirkt. Er wartet auf eine Warteschlange, die diese Instanz bedient, zieht Ereignisse aus dieser Warteschlange und sendet sie dann zur Verarbeitung.

Details
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg, andernfalls ein bestimmter Fehler, der den Grund für das Fehlschlagen der Initialisierung angibt.

GetPlatformData

void * GetPlatformData(
  void
) const 

Dadurch werden alle clientspezifischen Plattformdaten zurückgegeben, die der Instanz zugewiesen sind, sofern sie zuvor festgelegt wurden.

Details
Rückgabe
Clientspezifische Plattformdaten, falls zuvor festgelegt wurden; andernfalls NULL.

HandleEvent

Error HandleEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

Dies implementiert die tatsächliche Weiterleitung und Verarbeitung eines Weave System-Layer-Ereignisses.

Details
Parameter
[in,out] aTarget
Ein Verweis auf das Ebenenobjekt, auf das das Ereignis abzielt.
[in] aEventType
Der zu verarbeitende Ereignis-/Nachrichtentyp.
[in] aArgument
Das mit dem Ereignis bzw. der Nachricht verknüpfte Argument.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Bei Erfolg.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Der Status des InetLayer-Objekts ist falsch.
WEAVE_SYSTEM_ERROR_UNEXPECTED_EVENT
Wenn der Ereignistyp nicht erkannt wird.

HandlePlatformTimer

Error HandlePlatformTimer(
  void
)

Das Ereignis zum Ablauf des Plattform-Timers verarbeiten.

Ruft nl::Weave::System::Timer::HandleAbgelaufenTimers auf, um abgelaufene Timer zu verarbeiten. Es wird angenommen, dass diese API nur dann aufgerufen wird, wenn sie sich auf dem Thread befindet, der das Weave System-Layer-Objekt besitzt.

Details
Rückgabe
WEAVE_SYSTEM_NO_ERROR bei Erfolg, andernfalls Fehlercode.

HandleSelectResult

void HandleSelectResult(
  int aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet
)

Verarbeiten Sie E/A über einen ausgewählten Aufruf.

Diese Methode registriert das ausstehende E/A-Ereignis in jedem aktiven Endpunkt und ruft dann die entsprechenden E/A-Verarbeitungsfunktionen für diese Endpunkte auf.

Details
Parameter
[in] aSetSize
Der Rückgabewert des select-Aufrufs.
[in] aReadSet
Ein Zeiger auf die Gruppe von Lesedateideskriptoren.
[in] aWriteSet
Ein Zeiger auf die Gruppe von Dateideskriptoren zum Schreiben.
[in] aExceptionSet
Ein Zeiger auf die Gruppe von Dateideskriptoren mit Fehlern.

Init

Error Init(
  void *aContext
)

Layer

 Layer(
  void
)

NewTimer

Error NewTimer(
  Timer *& aTimerPtr
)

PostEvent

Error PostEvent(
  Object & aTarget,
  EventType aEventType,
  uintptr_t aArgument
)

Dadurch wird ein Ereignis oder eine Nachricht des angegebenen Typs mit dem angegebenen Argument an die plattformspezifische Ereigniswarteschlange dieser Instanz gesendet.

Details
Parameter
[in,out] aTarget
Ein Zeiger auf das Weave System-Layer-Objekt, von dem die Post-Anfrage stammt.
[in] aEventType
Die Art der Veranstaltung, die gepostet werden soll.
[in,out] aArgument
Das mit dem zu postenden Ereignis verknüpfte Argument.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Bei Erfolg.
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Der Status des Layer-Objekts ist falsch.
WEAVE_SYSTEM_ERROR_NO_MEMORY
Die Warteschlange ist bereits voll.
other
Es wurden plattformspezifische Fehler generiert, die den Grund für den Fehler angeben.

PrepareSelect

void PrepareSelect(
  int & aSetSize,
  fd_set *aReadSet,
  fd_set *aWriteSet,
  fd_set *aExceptionSet,
  struct timeval & aSleepTime
)

Bereiten Sie die Dateideskriptoren vor, mit denen select() arbeiten soll.

Details
Parameter
[out] aSetSize
Der Bereich der Dateideskriptoren im Dateideskriptor-Satz.
[in] aReadSet
Ein Zeiger auf die Gruppe lesbarer Dateideskriptoren.
[in] aWriteSet
Ein Zeiger auf die Gruppe von beschreibbaren Dateideskriptoren.
[in] aExceptionSet
Ein Zeiger auf die Gruppe von Dateideskriptoren mit Fehlern.
[in] aSleepTime
Ein Bezug zur maximalen Ruhezeit.

ScheduleWork

Error ScheduleWork(
  TimerCompleteFunct aComplete,
  void *aAppState
)

Plant eine Funktion mit einer Signatur, die mit TimerCompleteFunct identisch ist, so bald wie möglich im Weave-Thread ausgeführt wird.

Details
Parameter
[in] aComplete
Ein Zeiger auf eine Callback-Funktion, die beim Auslösen dieses Timers aufgerufen wird.
[in] aAppState
Ein Zeiger auf ein Anwendungsstatusobjekt, das als Argument an die Callback-Funktion übergeben wird.
Rückgabewerte
WEAVE_SYSTEM_ERROR_UNEXPECTED_STATE
Wenn der SystemLayer nicht initialisiert wurde.
WEAVE_SYSTEM_ERROR_NO_MEMORY
Wenn SystemLayer keinen neuen Timer zuordnen kann.
WEAVE_SYSTEM_NO_ERROR
Bei Erfolg.

SetPlatformData

void SetPlatformData(
  void *aPlatformData
)

Dadurch werden die angegebenen clientspezifischen Plattformdaten für die Instanz festgelegt, damit sie später von der Clientplattform abgerufen werden können.

Details
Parameter
[in] aPlatformData
Die festzulegenden kundenspezifischen Plattformdaten.

Herunterfahren

Error Shutdown(
  void
)

StartTimer

Error StartTimer(
  uint32_t aMilliseconds,
  TimerCompleteFunct aComplete,
  void *aAppState
)

Bei dieser Methode wird ein Timer mit einer Aufnahme gestartet.

Details
Parameter
[in] aMilliseconds
Ablaufzeit in Millisekunden.
[in] aComplete
Ein Zeiger auf die Funktion, die aufgerufen wird, wenn der Timer abläuft.
[in] aAppState
Ein Zeiger auf das Anwendungsstatusobjekt, das verwendet wird, wenn der Timer abläuft.
Rückgabe
WEAVE_SYSTEM_NO_ERROR Bei Erfolg.
Rückgabe
WEAVE_SYSTEM_ERROR_NO_MEMORY Wenn kein Timer zugewiesen werden kann.
Rückgabe
Anderer Wert, der angibt, dass der Timer nicht gestartet werden konnte.

Status

LayerState State(
  void
) const 

Gibt den aktuellen Status des Ebenenobjekts zurück.

WakeSelect

void WakeSelect(
  void
)

Beenden Sie den E/A-Thread, der die Dateideskriptoren mit select() überwacht, indem Sie ein einzelnes Byte in die Wake-Pipe schreiben.

Hinweis: Wenn WakeSelect() aus HandleSelectResult() aufgerufen wird, kann das Schreiben in die Wake-Pipe übersprungen werden, da der E/A-Thread bereits aktiv ist. Außerdem ist es für uns egal, wenn dieser Schreibvorgang fehlschlägt, da der einzige angemessen wahrscheinliche Fehler darin besteht, dass die Pipe voll ist. In diesem Fall wird der aufrufende Thread trotzdem aktiviert.

Öffentliche statische Funktionen

GetClock_Monotonic

uint64_t GetClock_Monotonic(
  void
)

Gibt eine monotone Systemzeit in Mikrosekundeneinheiten zurück.

Diese Funktion gibt eine verstrichene Zeit in Mikrosekunden seit einer beliebigen, plattformdefinierten Epoche zurück. Der zurückgegebene Wert wird zwischen Systemneustarts immer ansteigen (d.h., er wird nie umgebrochen). Außerdem tickt die zugrunde liegende Zeitquelle in allen Schlafmodi des Systems, die nach dem Aufwachen keinen Neustart erfordern, kontinuierlich.

Obwohl einige Plattformen einen Wert zurückgeben, der die Zeit seit dem Start des Systems misst, dürfen sich Anwendungen nicht darauf verlassen. Außerdem muss die Epoche für GetClock_Monotonic() nicht dieselbe sein wie die für andere GetClock...-Funktionen. Daher können relative Zeitberechnungen nur für Werte durchgeführt werden, die von derselben Funktion zurückgegeben werden.

Diese Funktion ist auf jeder Plattform, die Threading verwendet, garantiert Thread-sicher.

Details
Rückgabe
Verstrichene Zeit in Mikrosekunden seit einer beliebigen, plattformdefinierten Epoche.

GetClock_MonotonicHiRes

uint64_t GetClock_MonotonicHiRes(
  void
)

Gibt eine (möglicherweise) hochauflösende monotone Systemzeit in Mikrosekundeneinheiten zurück.

Diese Funktion gibt eine verstrichene Zeit in Mikrosekunden seit einer beliebigen, plattformdefinierten Epoche zurück. Der zurückgegebene Wert wird zwischen Systemneustarts immer ansteigen (d.h., er wird nie umgebrochen). Der zugrunde liegende Timer muss jedoch nicht kontinuierlich ticken, wenn sich das System im Ruhemodus befindet.

Auf einigen Plattformen wird GetClock_MonotonicHiRes() mit einem hochauflösenden Timer implementiert, der eine höhere Präzision als GetClock_Monotonic() hat und nicht schrittweisen Anpassungen der Uhr (Slewing) unterliegt. Systeme ohne einen solchen Timer geben möglicherweise einfach denselben Wert wie GetClock_Monotonic() zurück.

Die von GetClock_MonotonicHiRes() zurückgegebene Epoche muss nicht mit der anderer GetClock...-Funktionen übereinstimmen, einschließlich GetClock_Monotonic().

Diese Funktion ist auf jeder Plattform, die Threading verwendet, garantiert Thread-sicher.

Details
Rückgabe
Verstrichene Zeit in Mikrosekunden seit einer beliebigen, plattformdefinierten Epoche.

GetClock_MonotonicMS

uint64_t GetClock_MonotonicMS(
  void
)

Gibt eine monotone Systemzeit in Millisekundeneinheiten zurück.

Diese Funktion gibt eine verstrichene Zeit in Millisekunden seit einer beliebigen, plattformdefinierten Epoche zurück. Der zurückgegebene Wert wird zwischen Systemneustarts immer ansteigen (d.h., er wird nie umgebrochen). Außerdem tickt die zugrunde liegende Zeitquelle in allen Schlafmodi des Systems, die nach dem Aufwachen keinen Neustart erfordern, kontinuierlich.

Obwohl einige Plattformen einen Wert zurückgeben, der die Zeit seit dem Start des Systems misst, dürfen sich Anwendungen nicht darauf verlassen. Außerdem muss die Epoche für GetClock_Monotonic() nicht dieselbe sein wie die für andere GetClock...-Funktionen. Daher können relative Zeitberechnungen nur für Werte durchgeführt werden, die von derselben Funktion zurückgegeben werden.

Diese Funktion ist auf jeder Plattform, die Threading verwendet, garantiert Thread-sicher.

Details
Rückgabe
Verstrichene Zeit in Millisekunden seit einer beliebigen, plattformdefinierten Epoche.

GetClock_RealTime

Error GetClock_RealTime(
  uint64_t & curTime
)

Gibt die aktuelle reelle (zivile) Zeit im Unix-Zeitformat Mikrosekunden zurück.

Diese Methode gibt das Konzept der lokalen Plattform für die aktuelle Echtzeit zurück, ausgedrückt als Unix-Zeitwert, skaliert auf Mikrosekunden. Die zugrunde liegende Uhr läuft mit einer Taktung von mindestens ganzen Sekunden (Werte von 1.000.000), kann jedoch auf einigen Plattformen schneller ticken.

Wenn die zugrunde liegende Plattform Echtzeit-Tracking kann, das System jedoch derzeit nicht synchronisiert ist, gibt GetClock_RealTime() den Fehler WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED zurück.

Auf Plattformen, die kein Echtzeit-Tracking unterstützen, fehlt die Methode GetClock_RealTime() möglicherweise. Dies führt bei jeder Anwendung, die auf sie verweist, zu einem Verknüpfungsfehler. Alternativ können solche Plattformen eine Implementierung von GetClock_RealTime() bereitstellen, die immer den Fehler WEAVE_SYSTEM_ERROR_NOT_SUPPORTED zurückgibt.

Diese Funktion ist auf jeder Plattform, die Threading verwendet, garantiert Thread-sicher.

Details
Parameter
[out] curTime
Die aktuelle Zeit als Unix-Zeit, skaliert auf Mikrosekunden.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Gibt an, ob die Methode erfolgreich war.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Ob die Plattform Echtzeit-Tracking unterstützt, aber derzeit nicht synchronisiert ist.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Ob die Plattform das Tracking in Echtzeit nicht unterstützt.

GetClock_RealTimeMS

Error GetClock_RealTimeMS(
  uint64_t & curTimeMS
)

Gibt die aktuelle reelle (zivile) Zeit im Unix-Zeitformat von Millisekunden zurück.

Diese Methode gibt das Konzept der lokalen Plattform für die aktuelle Echtzeit zurück, ausgedrückt als Unix-Zeitwert, skaliert auf Millisekunden. Die zugrunde liegende Uhr läuft mit einer Taktung von mindestens ganzen Sekunden (Werte von 1.000.000), kann jedoch auf einigen Plattformen schneller ticken.

Wenn die zugrunde liegende Plattform Echtzeit-Tracking durchführen kann, das System jedoch derzeit nicht synchronisiert ist, gibt GetClock_RealTimeMS() den Fehler WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED zurück.

Auf Plattformen, die kein Echtzeit-Tracking unterstützen, fehlt die GetClock_RealTimeMS()-Methode möglicherweise nicht. Dies führt bei jeder Anwendung, die auf sie verweist, zu einem Linkfehler. Alternativ können solche Plattformen eine Implementierung von GetClock_RealTimeMS() bereitstellen, die immer den Fehler WEAVE_SYSTEM_ERROR_NOT_SUPPORTED zurückgibt.

Diese Funktion ist auf jeder Plattform, die Threading verwendet, garantiert Thread-sicher.

Details
Parameter
[out] curTime
Die aktuelle Zeit, ausgedrückt als Unix-Zeit, skaliert auf Millisekunden.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Gibt an, ob die Methode erfolgreich war.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Ob die Plattform Echtzeit-Tracking unterstützt, aber derzeit nicht synchronisiert ist.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Ob die Plattform das Tracking in Echtzeit nicht unterstützt.

SetClock_RealTime

Error SetClock_RealTime(
  uint64_t newCurTime
)

Legt das Konzept der Plattform für die aktuelle reale (Bürger-)Zeit fest.

Anwendungen können diese Funktion aufrufen, um das Konzept der lokalen Plattform für die aktuelle Echtzeit festzulegen. Die neue aktuelle Zeit wird als Unix-Zeitwert ausgedrückt, der auf Mikrosekunden skaliert wird.

Einmal eingestellt, verfolgt die zugrunde liegende Plattformuhr garantiert Echtzeit mit einem Detaillierungsgrad von mindestens ganzen Sekunden.

Bei einigen Plattformen ist es möglich, dass die Echtzeitfestlegung von Anwendungen oder Prozessen eingeschränkt ist. Wenn für den Aufrufer keine Echtzeitänderung zulässig ist, gibt die Funktion SetClock_RealTime() den Fehler WEAVE_SYSTEM_ERROR_ACCESS_DENIED zurück.

Auf Plattformen, die kein Echtzeit-Tracking ermöglichen oder keine Echtzeit-Einstellung bieten, fehlt die Funktion SetClock_RealTime() möglicherweise. Dies führt zu einem Linkfehler für jede Anwendung, die darauf verweist. Alternativ können solche Plattformen eine Implementierung von SetClock_RealTime() bereitstellen, die immer den Fehler WEAVE_SYSTEM_ERROR_NOT_SUPPORTED zurückgibt.

Diese Funktion ist auf jeder Plattform, die Threading verwendet, garantiert Thread-sicher.

Details
Parameter
[in] newCurTime
Die neue aktuelle Zeit, ausgedrückt als Unix-Zeit, skaliert auf Mikrosekunden.
Rückgabewerte
WEAVE_SYSTEM_NO_ERROR
Gibt an, ob die Methode erfolgreich war.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Ob die Plattform das Tracking in Echtzeit nicht unterstützt.
#WEAVE_SYSTEM_ERROR_ACCESS_DENIED
Die aufrufende Anwendung ist nicht berechtigt, die aktuelle Uhrzeit festzulegen.