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, nachdem beide Zeitsynchronisierungsversuche abgeschlossen wurden. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Rückruf, um anzuzeigen, dass wir gerade eine Benachrichtigung zur Zeitänderung erhalten haben. |
Geschützte Typen |
|
---|---|
@324
|
enum |
Öffentliche Attribute |
|
---|---|
OnTimeChangeNotificationReceived
|
Geschützte Attribute |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
zur Speicherung der Hinflugzeit verwendet.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
zum Speichern eines Zeitstempels bei der Registrierung eines Ergebnisses
|
mRemoteTimestamp_usec
|
timesync_t
wird verwendet, um die Systemzeit des Remote-Knotens zu speichern, als die Antwortnachricht gesendet werden sollte
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Öffentliche Funktionen |
|
---|---|
Abort(void)
|
void
Aktuellen Synchronisierungsvorgang 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)
|
Synchronisieren Sie das angegebene Binding und führen Sie mit dem bereitgestellten Zeiger einen Rückruf durch.
|
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, es wird auf eine Benachrichtigung über die Zeitänderung gewartet, es findet jedoch kein tatsächlicher Synchronisierungsvorgang statt. |
kClientState_Sync_1
|
Funktioniert beim ersten Synchronisierungsversuch. |
kClientState_Sync_2
|
Ab dem zweiten Synchronisierungsversuch läuft. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Rückruf, nachdem beide Zeitsynchronisierungsversuche abgeschlossen wurden.
Wenn aErrorCode WEAVE_NO_ERROR lautet, war mindestens ein Versuch erfolgreich. Andernfalls weisen beide Fehler bei aErrorCode auf den letzten Fehler hin.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Rückruf, um anzuzeigen, dass wir gerade eine Benachrichtigung zur Zeitänderung erhalten haben.
Bei Init auf NULL festlegen. Wenn die Richtlinie nicht konfiguriert ist, wird die Zeitänderungsbenachrichtigung ignoriert. Die App-Ebene darf in diesem Callback den Vorgang „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
zur Speicherung der Hinflugzeit verwendet.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
zum Speichern eines Zeitstempels bei der Registrierung eines Ergebnisses
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
wird verwendet, um die Systemzeit des Remote-Knotens zu speichern, als die Antwortnachricht gesendet werden sollte
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Öffentliche Funktionen
Abbrechen
void Abort( void )
Aktuellen Synchronisierungsvorgang abbrechen.
Binding freigeben. Aktiven Austausch abbrechen. In den inaktiven Zustand zurückversetzen.
GetClientState
ClientState GetClientState( void ) const
Rufen Sie den aktuellen Status dieses Clients ab.
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 )
Synchronisieren Sie das angegebene Binding und führen Sie mit dem bereitgestellten Zeiger einen Rückruf durch.
Wenn gerade eine Zeitsynchronisierung stattfindet, wird dieser implizit abgebrochen, ohne dass ein Rückruf erfolgt. Nicht im Rückruf OnSyncCompleted verfügbar, aber in OnTimeChangeNotificationReceived zulässig . Bei einem Fehler würde 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 )
_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 )