nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Zusammenfassung
Öffentliche Typen |
|
---|---|
ClientState{
|
enum Aktueller Status dieses Time Sync-Clients |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Rückruf nach Abschluss beider Synchronisierungsversuche. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Rückruf, um anzugeben, dass wir gerade eine Zeitänderungsbenachrichtigung erhalten haben. |
Geschützte Typen |
|
---|---|
@324
|
enum |
Öffentliche Attribute |
|
---|---|
OnTimeChangeNotificationReceived
|
Geschützte Attribute |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
wird verwendet, um die einfache Flugzeit zu speichern.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
Wird zum Speichern des Zeitstempels verwendet, wenn ein Ergebnis registriert wird
|
mRemoteTimestamp_usec
|
timesync_t
wird verwendet, um die Systemzeit des Remote-Knotens zu speichern, als die Antwortnachricht demnächst gesendet werden sollte
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Öffentliche Funktionen |
|
---|---|
Abort(void)
|
void
Aktuelle Zeitsynchronisierung abbrechen.
|
GetClientState(void) const
|
Aktuellen Status dieses Clients abrufen.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Initialisieren Sie diesen Client.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
Führen Sie eine Synchronisierung mit dem angegebenen Binding durch und erstellen Sie mit dem angegebenen Zeiger einen Callback.
|
Geschützte Funktionen |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
Die registrierten Informationen zur Zeitkorrektur ungültig machen
|
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
ClientState
ClientState
Aktueller Status dieses Time Sync-Clients
Attribute | |
---|---|
kClientState_Idle
|
Initialisiert, auf Benachrichtigung zur Zeitänderung wird gewartet, aber es findet keine Zeitsynchronisierung statt. |
kClientState_Sync_1
|
Beim ersten Synchronisierungsversuch wird gearbeitet. |
kClientState_Sync_2
|
Beim zweiten Synchronisierungsversuch wird gearbeitet. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Rückruf nach Abschluss beider Synchronisierungsversuche.
Wenn der Fehlercode WEAVE_NO_ERROR lautet, war mindestens ein Versuch erfolgreich. Andernfalls weist der Fehlercode bei „aErrorCode“ auf den letzten Fehler hin.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Rückruf, um anzugeben, dass wir gerade eine Zeitänderungsbenachrichtigung erhalten haben.
Bei Init auf NULL setzen. Ist die Richtlinie nicht konfiguriert, wird die Benachrichtigung zur Zeitänderung ignoriert. Die App-Ebene darf in diesem Callback „Abort“ und „Synchronisierung“ aufrufen.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
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 einfache Flugzeit zu speichern.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
Wird zum Speichern des Zeitstempels verwendet, wenn ein Ergebnis registriert wird
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
wird verwendet, um die Systemzeit des Remote-Knotens zu speichern, als die Antwortnachricht demnächst gesendet werden sollte
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Öffentliche Funktionen
Abbrechen
void Abort( void )
Aktuelle Zeitsynchronisierung abbrechen.
Lassen Sie Bindung los. Aktive Anzeigenplattform abbrechen. Zurück in den Ruhezustand wechseln.
GetClientState
ClientState GetClientState( void ) const
Aktuellen Status dieses Clients abrufen.
Details | |
---|---|
Rückgabe |
Aktueller Status
|
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Initialisieren Sie diesen Client.
Muss aufgerufen werden, bevor andere Funktionen verwendet werden können. Mit Null/NULL werden alle internen Daten initialisiert und mit der Zeitänderungsbenachrichtigung registriert.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
Synchronisieren
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Führen Sie eine Synchronisierung mit dem angegebenen Binding durch und erstellen Sie mit dem angegebenen Zeiger einen Callback.
Wenn eine zeitliche Synchronisierung stattfindet, wird diese implizit abgebrochen, ohne dass ein Callback erfolgt. Nicht verfügbar im Callback OnSyncCompleted, aber zulässig in OnTimeChangeNotificationReceived . Bei einem Fehler wird der Abbruch implizit aufgerufen, bevor von dieser Funktion zurückgegeben wird.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabe |
WEAVE_NO_ERROR bei Erfolg
|
Geschützte Funktionen
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Die registrierten Informationen zur Zeitkorrektur ungültig machen
IsRegisteredResultValid
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 )
ProceedToNextState
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 )
_AbbrechenWithCallback
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 )