nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Résumé
Types publics |
|
---|---|
ClientState{
|
énum état actuel de ce client de synchronisation temporelle |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Rappel après les deux tentatives de synchronisation. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Rappel pour indiquer que nous venons de recevoir une notification de changement d'heure. |
Types protégés |
|
---|---|
@324
|
énum |
Attributs publics |
|
---|---|
OnTimeChangeNotificationReceived
|
Attributs protégés |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
pour stocker le temps de vol aller simple.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
utilisé pour stocker le code temporel lorsqu'un résultat est enregistré
|
mRemoteTimestamp_usec
|
timesync_t
utilisé pour stocker l'heure système du nœud distant, lorsque le message de réponse était sur le point d'être envoyé
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Fonctions publiques |
|
---|---|
Abort(void)
|
void
Annulez l'opération de synchronisation de l'heure en cours.
|
GetClientState(void) const
|
Récupérer l'état actuel de ce client
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Initialisez ce client.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
Synchronisation à l'aide de la Binding donnée et rappel à l'aide du pointeur fourni.
|
Fonctions protégées |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
Invalider les informations enregistrées pour la correction de l'heure
|
IsRegisteredResultValid(void)
|
bool
Vérifiez si les informations enregistrées pour la correction de l'heure sont valides.
|
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
|
Fonctions statiques protégées |
|
---|---|
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
|
Types publics
ClientState
ClientState
état actuel de ce client de synchronisation temporelle
Propriétés | |
---|---|
kClientState_Idle
|
Initialisée, en attente de la notification de changement d'heure, mais aucune opération de synchronisation de l'heure n'est en cours. |
kClientState_Sync_1
|
Première tentative de synchronisation en cours. |
kClientState_Sync_2
|
Deuxième tentative de synchronisation en cours. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Rappel après les deux tentatives de synchronisation.
Si aErrorCode est WEAVE_NO_ERROR, cela signifie qu'au moins une tentative a réussi. Sinon, les deux erreurs "aErrorCode" indiquent le dernier échec.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Rappel pour indiquer que nous venons de recevoir une notification de changement d'heure.
Définissez sa valeur à NULL sur Init. Si cette règle n'est pas configurée, la notification de changement d'heure est ignorée. La couche d'application est autorisée à appeler "Annuler et synchroniser" dans ce rappel.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
Types protégés
@324
@324
Attributs publics
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
Attributs protégés
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
pour stocker le temps de vol aller simple.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
utilisé pour stocker l'horodatage lorsqu'un résultat est enregistré
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
utilisé pour stocker l'heure système du nœud distant, lorsque le message de réponse était sur le point d'être envoyé
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Fonctions publiques
Annuler
void Abort( void )
Annulez l'opération de synchronisation de l'heure en cours.
Libérez Binding. Annuler l'échange actif. Revenir à l'état inactif.
GetClientState
ClientState GetClientState( void ) const
Récupérer l'état actuel de ce client
Détails | |
---|---|
Renvoie |
état actuel
|
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Initialisez ce client.
Doit être appelé avant que d'autres fonctions puissent être utilisées. Zéro/NULL initialise toutes les données internes et s'enregistre auprès de la notification de changement d'heure.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
Synchroniser
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Synchronisation à l'aide de la Binding donnée et rappel à l'aide du pointeur fourni.
Si une opération de synchronisation temporelle est en cours, elle est annulée implicitement sans qu'un rappel ne soit effectué. Non disponible pour le rappel OnSyncCompleted, mais autorisée dans OnTimeChangeNotificationReceived . En cas d'erreur, la méthode Abort est appelée implicitement avant d'être renvoyée à partir de cette fonction.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
Fonctions protégées
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Invalider les informations enregistrées pour la correction de l'heure
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Vérifiez si les informations enregistrées pour la correction de l'heure sont valides.
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 )
Fonctions statiques protégées
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 )