Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Weben:: Profile:: Zeit:: SingleSourceTimeSyncClient

Zusammenfassung

Öffentliche Typen

ClientState {
kClientState_Idle ,
kClientState_Sync_1 ,
kClientState_Sync_2
}
aufzählen
aktueller Status dieses Time Sync Client
SyncCompletionHandler )(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) Typdef
void(*
Rückruf nach Abschluss beider Zeitsynchronisierungsversuche.
TimeChangeNotificationHandler )(void *const aApp, ExchangeContext *aEC) Typdef
void(*
Rückruf, um anzuzeigen, dass wir gerade eine Zeitänderungsbenachrichtigung erhalten haben.

Geschützte Typen

@324 aufzählen

Öffentliche Attribute

OnTimeChangeNotificationReceived

Geschützte Attribute

mApp
void *
mBinding
mClientState
mExchangeContext
mExchangeMgr
mFlightTime_usec
int32_t
wird verwendet, um die Flugzeit in einer Richtung zu speichern.
mIsInCallback
bool
mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t
Wird verwendet, um den Zeitstempel zu speichern, wenn ein Ergebnis registriert wird
mRemoteTimestamp_usec
timesync_t
Wird verwendet, um die Systemzeit des entfernten Knotens zu speichern, wenn die Antwortnachricht gesendet werden sollte
mUnadjTimestampLastSent_usec
timesync_t

Öffentliche Funktionen

Abort (void)
void
Aktuelle Uhrzeitsynchronisation abbrechen.
GetClientState (void) const
Rufen Sie den aktuellen Status dieses Clients ab.
Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Initialisieren Sie diesen Client.
Sync ( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Synchronisation mit der angegebenen Bindung und macht einen Rückruf mit dem Zeiger zur Verfügung gestellt.

Geschützte Funktionen

EnterSync2 (void)
void
FinalProcessing (void)
void
GetClientStateName (void) const
const char *
InvalidateRegisteredResult (void)
void
Machen Sie die registrierten Informationen für die Zeitkorrektur ungültig.
IsRegisteredResultValid (void)
bool
Prüfen Sie, ob die registrierten Informationen für die Zeitkorrektur gültig sind.
OnResponseTimeout (void)
void
OnSyncResponse (uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void
ProceedToNextState (void)
void
RegisterSyncResultIfNewOrBetter (const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
void
SendSyncRequest (void)
SetClientState (const ClientState state)
void
_AbortWithCallback (const WEAVE_ERROR aErrorCode)
void

Geschützte statische Funktionen

HandleResponseTimeout ( ExchangeContext *aEC)
void
HandleSyncResponse ( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void
HandleTimeChangeNotification ( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
void

Öffentliche Typen

Kundenstatus

 ClientState

aktueller Status dieses Time Sync Client

Eigenschaften
kClientState_Idle

Initialisiert, wartet auf Zeitänderungsbenachrichtigung, aber es findet kein tatsächlicher Zeitsynchronisierungsvorgang statt.

kClientState_Sync_1

Arbeiten am ersten Synchronisierungsversuch.

kClientState_Sync_2

Arbeiten am zweiten Synchronisierungsversuch.

SyncCompletionHandler

void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)

Rückruf nach Abschluss beider Zeitsynchronisierungsversuche.

Wenn aErrorCode WEAVE_NO_ERROR ist, war mindestens ein Versuch erfolgreich. Andernfalls zeigt beides fehlgeschlagen bei aErrorCode den letzten Fehler an.

Einzelheiten
Parameter
[in] aApp
Ein Zeiger auf App-Layer-Daten, festgelegt in Init.
[in] aErrorCode
WEAVE_NO_ERROR , wenn zumindest eine Zeitsynchronisationsoperation erfolgreich ist
[in] aCorrectedSystemTime
Nur gültig , wenn aErrorCode ist WEAVE_NO_ERROR

TimeChangeNotificationHandler

void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)

Rückruf, um anzuzeigen, dass wir gerade eine Zeitänderungsbenachrichtigung erhalten haben.

Auf NULL bei Init . Wenn nicht festgelegt, wird die Zeitänderungsbenachrichtigung ignoriert. Der App-Layer darf in diesem Rückruf Abort und Sync aufrufen.

Einzelheiten
Parameter
[in] aApp
Ein Zeiger auf App-Layer-Daten, festgelegt in Init.
[in] aEC
Für diese eingehende Nachricht verwendeter Exchange-Kontext, mit dem ihre Authentizität überprüft werden kann

Geschützte Typen

@324

 @324

Öffentliche Attribute

OnTimeChangeNotificationReceived

TimeChangeNotificationHandler OnTimeChangeNotificationReceived

Geschützte Attribute

mApp

void * mApp

mBinding

Binding * mBinding

mClientState

ClientState mClientState

mExchangeContext

ExchangeContext * mExchangeContext

mExchangeMgr

WeaveExchangeManager * mExchangeMgr

mFlightTime_usec

int32_t mFlightTime_usec

wird verwendet, um die Flugzeit in einer Richtung zu speichern.

mIsInCallback

bool mIsInCallback

mOnSyncCompleted

SyncCompletionHandler mOnSyncCompleted

mRegisterSyncResult_usec

timesync_t mRegisterSyncResult_usec

Wird verwendet, um den Zeitstempel zu speichern, wenn ein Ergebnis registriert wird

mRemoteTimestamp_usec

timesync_t mRemoteTimestamp_usec

Wird verwendet, um die Systemzeit des entfernten Knotens zu speichern, wenn die Antwortnachricht gesendet werden sollte

mUnadjTimestampLastSent_usec

timesync_t mUnadjTimestampLastSent_usec

Öffentliche Funktionen

Abbrechen

void Abort(
  void
)

Aktuelle Uhrzeitsynchronisation abbrechen.

Lassen Sie Bindung . Aktiven Austausch abbrechen. Gehen Sie zurück in den Ruhezustand.

GetClientState

ClientState GetClientState(
  void
) const 

Rufen Sie den aktuellen Status dieses Clients ab.

Einzelheiten
Kehrt zurück
aktuellen Zustand

Drin

WEAVE_ERROR Init(
  void *const aApp,
  WeaveExchangeManager *const aExchangeMgr
)

Initialisieren Sie diesen Client.

Muss aufgerufen werden, bevor andere Funktionen verwendet werden können. Zero/NULL initialisiert alle internen Daten und registriert sich mit Time Change Notification.

Einzelheiten
Parameter
[in] aApp
Ein Zeiger auf Daten einer höheren Schicht, der in Rückrufen zu einer höheren Schicht verwendet wird.
[in] aExchangeMgr
Ein Zeiger auf Exchange Manager, der bei der Registrierung für den Nachrichtenhandler für die Benachrichtigung über die Zeitänderung verwendet wird
Kehrt zurück
WEAVE_NO_ERROR bei Erfolg

Synchronisieren

WEAVE_ERROR Sync(
  Binding *const aBinding,
  SyncCompletionHandler OnSyncCompleted
)

Synchronisation mit der angegebenen Bindung und macht einen Rückruf mit dem Zeiger zur Verfügung gestellt.

Wenn eine Zeitsynchronisierungsoperation ausgeführt wird, wird diese implizit abgebrochen, ohne dass ein Rückruf durchgeführt wird. In Callback OnSyncCompleted nicht verfügbar, aber in OnTimeChangeNotificationReceived zulässig. Bei einem Fehler wird Abort implizit aufgerufen, bevor diese Funktion verlassen wird.

Einzelheiten
Parameter
[in] aBinding
Die Bindung an in Kontakt mit dem Zeitserver verwendet werden
[in] OnSyncCompleted
Callback-Funktion, die verwendet werden soll, nachdem die Zeitsynchronisierungsvorgänge abgeschlossen sind
Kehrt zurück
WEAVE_NO_ERROR auf Erfolg

Geschützte Funktionen

EnterSync2

void EnterSync2(
  void
)

Endverarbeitung

void FinalProcessing(
  void
)

GetClientStateName

const char * GetClientStateName(
  void
) const 

InvalidateRegisteredResult

void InvalidateRegisteredResult(
  void
)

Machen Sie die registrierten Informationen für die Zeitkorrektur ungültig.

IstRegisteredResultValid

bool IsRegisteredResultValid(
  void
)

Prüfen Sie, ob die registrierten Informationen für die Zeitkorrektur gültig sind.

OnResponseTimeout

void OnResponseTimeout(
  void
)

OnSyncResponse

void OnSyncResponse(
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

WeiterzumNächstenZustand

void ProceedToNextState(
  void
)

RegisterSyncResultIfNewOrBetter

void RegisterSyncResultIfNewOrBetter(
  const timesync_t aNow_usec,
  const timesync_t aRemoteTimestamp_usec,
  const int32_t aFlightTime_usec
)

SendSyncRequest

WEAVE_ERROR SendSyncRequest(
  void
)

SetClientState

void SetClientState(
  const ClientState state
)

_AbortWithCallback

void _AbortWithCallback(
  const WEAVE_ERROR aErrorCode
)

Geschützte statische Funktionen

HandleResponseTimeout

void HandleResponseTimeout(
  ExchangeContext *aEC
)

HandleSyncResponse

void HandleSyncResponse(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)

HandleTimeChangeNotification

void HandleTimeChangeNotification(
  ExchangeContext *aEC,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aMsgInfo,
  uint32_t aProfileId,
  uint8_t aMsgType,
  PacketBuffer *aPayload
)