nl:: Weave:: Profiles:: Time:: TimeSyncNode
Résumé
Héritage
Hérite de: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Constructeurs et destructeurs |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
utilisés pour la fonctionnalité de synchronisation automatique.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
le contexte de
communication.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
ces fonctions de transition d'état sont internes et ne peuvent pas renvoyer de code d'erreur, car l'état précédent n'aurait aucun moyen de les gérer.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Types publics |
|
---|---|
ClientState
|
énum état actuel de ce client de synchronisation temporelle |
CommState
|
énum le statut de la communication
à un certain contact. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
se produit juste avant de calculer la correction de l'heure à partir des réponses. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
pour indiquer que nous venons de recevoir une demande de synchronisation de l'heure. |
ResponseStatus
|
énum l'état d'une réponse stockée à un contact donné. |
ServerState{
|
énum état actuel de ce serveur de synchronisation temporelle |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
se produit lorsque la synchronisation est considérée comme ayant échoué, ce qui inclut la synchronisation automatique. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
se produit une fois que la synchronisation est considérée comme réussie, y compris la synchronisation automatique, mais avant l'application du résultat. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
pour indiquer que nous venons de recevoir une notification de changement d'heure. |
Attributs publics |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
Si cette règle n'est pas configurée, l'implémentation par défaut renvoie toujours "true"
|
OnSyncSucceeded
|
Si cette règle n'est pas configurée, le comportement par défaut prend tous les résultats, à l'exception des très petites corrections du serveur
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
méthode de cryptage pour
la communication locale
|
mKeyId
|
uint16_t
ID de clé utilisé pour les communications locales
|
Attributs protégés |
|
---|---|
mApp
|
void *
pointeur vers des données de couche supérieure
|
mClientState
|
|
mConnectionToService
|
Connexion TCP utilisée pour communiquer avec le service.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Coordonnées apprises tout au long de la découverte.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
"true" si nous sommes dans un rappel de la couche supérieure
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Rôle réel de ce nœud.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
Notez qu'il doit s'agir du temps de démarrage, car nous avons besoin d'une compensation pour le temps de sommeil.
|
mTimestampLastLocalSync_usec
|
timesync_t
Notez qu'il doit s'agir du temps de démarrage, car nous avons besoin d'une compensation pour le temps de sommeil.
|
Fonctions publiques |
|
---|---|
Abort(void)
|
forcer le moteur à revenir à l'état inactif, ce qui annule toute activité en cours.
|
DisableAutoSync(void)
|
void
désactiver la synchronisation automatique.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
activer la synchronisation automatique.
|
GetCapacityOfContactList(void) const
|
int
getter simple pour le nombre maximal de contacts que ce moteur est configuré pour stocker
|
GetClientState(void) const
|
Getter simple pour l'état du client
|
GetNextLikelihood(void) const
|
int8_t
pour extraire la probabilité des valeurs persistantes.
|
GetServerState(void) const
|
getter simple pour l'état du serveur
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
pour initialiser ce client.
|
InitCoordinator(nl::Weave::WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
initialisez ce coordinateur.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
Initialiser pour le rôle Serveur doit être appelé en tant que première fonction après la construction de l'objet si l'intention est d'être un serveur de synchronisation temporelle.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Appelée par la couche supérieure pour la notification de modification de l'heure de multidiffusion.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Appelée par la couche supérieure pour indiquer que nous venons de terminer une synchronisation arrondie avec n'importe quel serveur ou par un moyen fiable tel que NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Appelée par une couche supérieure pour indiquer que nous venons de terminer une synchronisation partielle avec d'autres coordinateurs locaux.
|
Shutdown(void)
|
le service, quel que soit son rôle.
|
Sync(const bool aForceDiscoverAgain)
|
synchroniser à l'aide des contacts existants.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
effectuer la synchronisation à l'aide de la liste de contacts fournie.
|
SyncWithService(WeaveConnection *const aConnection)
|
à l'aide de la connexion TCP donnée et de l'ID de clé et de chiffrement associé.
|
Fonctions protégées |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
annulation interne si aCode n'est pas WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
Fonction interne permettant de lancer une session de synchronisation automatique
|
CallbackForSyncCompletion(const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec)
|
à déclencher un rappel vers la couche d'application.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
Fermez le contexte ExchangeContext Weave.
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
renvoyer un emplacement pour stocker les coordonnées
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
obtenir le prochain contact valide et inactif avec lequel communiquer
|
GetNumNotYetCompletedContacts(void)
|
int16_t
obtenir le nombre de contacts valides, mais dont nous n'avons pas encore parlé.
|
GetNumReliableResponses(void)
|
int16_t
obtenir le nombre de "fiables" réponses recueillies
jusqu’à présent.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
invalider tous les contacts locaux
|
InvalidateServiceContact(void)
|
void
invalider le contact avec le service
|
RegisterCommError(Contact *const aContact)
|
void
enregistre une erreur de communication sur un contact donné et raccourcit la période de découverte automatique si nécessaire. La valeur d'un contact peut être NULL pour indiquer que nous n'avons personne à qui parler, et donc raccourcir la période de découverte automatique.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
envoyer une demande de synchronisation unicast à un contact.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
rétablir l'état inactif de tous les contacts terminés, mais sans modifier la réponse.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
définir tous les contacts locaux valides sur l'état inactif et effacer la réponse ;
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
Créer un échange Weave Exchange pour une communication monodiffusion
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
enregistrer les coordonnées d'un nœud qui vient de nous envoyer une notification de changement d'heure
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
traiter une réponse provenant d'une requête multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
traiter une réponse provenant d'une requête monodiffusion
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
pour le rôle Client.
|
_InitServer(const bool aIsAlwaysFresh)
|
pour le rôle Serveur.
|
_ShutdownClient(void)
|
Arrêtez le client qui n'est pas disponible dans les rappels.
|
_ShutdownCoordinator(void)
|
arrêter le coordinateur qui n'est pas disponible dans les rappels ;
|
_ShutdownServer(void)
|
si vous arrêtez le serveur et ne sont pas disponibles dans les rappels.
|
Fonctions statiques protégées |
|
---|---|
HandleAutoDiscoveryTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleAutoSyncTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleMulticastResponseTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleMulticastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleSyncRequest(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
Rappel de Weave Exchange lorsqu'une requête de synchronisation de l'heure arrive
|
HandleTimeChangeNotification(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleUnicastResponseTimeout(ExchangeContext *const ec)
|
void
|
HandleUnicastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleUnreliableAfterBootTimer(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
rappel du minuteur Weave lorsque nous avons transmis le problème de fiabilité après la barrière de sécurité
|
IsOperationalState(ClientState aState)
|
bool
Déterminer si un état donné est opérationnel
|
_OnSyncSucceeded(void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
bool
|
mBootTimeForNextAutoDiscovery_usec
timesync_t mBootTimeForNextAutoDiscovery_usec
mIsAutoSyncEnabled
bool mIsAutoSyncEnabled
utilisés pour la fonctionnalité de synchronisation automatique.
mIsUrgentDiscoveryPending
bool mIsUrgentDiscoveryPending
mNominalDiscoveryPeriod_msec
int32_t mNominalDiscoveryPeriod_msec
mShortestDiscoveryPeriod_msec
int32_t mShortestDiscoveryPeriod_msec
mSyncPeriod_msec
int32_t mSyncPeriod_msec
mExchangeContext
ExchangeContext * mExchangeContext
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
EnterState_Discover
void EnterState_Discover( void )
ces fonctions de transition d'état sont internes et ne peuvent pas renvoyer de code d'erreur, car l'état précédent n'aurait aucun moyen de les gérer.
tout échec entraînera à terme une autre transition d'état (il peut s'agir d'un délai d'inactivité) si même le minuteur échoue, nous sommes hors de cause et pourrait rester dans un état incorrect.
EnterState_ServiceSync_1
void EnterState_ServiceSync_1( void )
EnterState_ServiceSync_2
void EnterState_ServiceSync_2( void )
EnterState_Sync_1
void EnterState_Sync_1( void )
EnterState_Sync_2
void EnterState_Sync_2( void )
Types publics
ClientState
ClientState
état actuel de ce client de synchronisation temporelle
CommState
CommState
le statut de la communication à un certain contact.
Cette information est publique, car le contact est public.
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
se produit juste avant de calculer la correction de l'heure à partir des réponses.
La couche d'application pourrait remplacer aContact[i].mResponseStatus en kResponseStatus_Invalid, afin que la réponse soit ignorée dans le calcul.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
pour indiquer que nous venons de recevoir une demande de synchronisation de l'heure.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Renvoie |
"false" et le moteur ignorera cette requête
|
ResponseStatus
ResponseStatus
l'état d'une réponse stockée à un contact donné.
Cette information est publique, car le contact est public.
ServerState
ServerState
état actuel de ce serveur de synchronisation temporelle
Propriétés | |
---|---|
kServerState_Idle
|
le serveur est prêt à répondre aux requêtes avec des paramètres standards ; |
kServerState_UnreliableAfterBoot
|
temps réservé au serveur pour synchroniser l'heure système par d'autres moyens uniquement si aIsAlwaysFresh est vrai lorsque Init est appelé |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
se produit lorsque la synchronisation est considérée comme ayant échoué, ce qui inclut la synchronisation automatique.
notez que le rappel ne se produit pas si l'option "Annuler" est appelée pour arrêter la synchronisation.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
se produit une fois que la synchronisation est considérée comme réussie, y compris la synchronisation automatique, mais avant l'application du résultat.
Notez que la réussite ne signifie pas que nous disposons de résultats applicables. En l'absence de réponse, aNumContributor serait défini sur 0. La couche d'application pourrait remplacer aContact[i].mResponseStatus en kResponseStatus_Invalid, de sorte que la réponse serait ignorée dans le calcul.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Renvoie |
"true" si ce décalage doit être utilisé
pour ajuster l'heure système. si la valeur de aNumContributor est 0, la valeur renvoyée est ignorée.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
pour indiquer que nous venons de recevoir une notification de changement d'heure.
Si le mode de synchronisation automatique est activé, une synchronisation de l'heure sera automatiquement programmée peu de temps après ce rappel. Sinon, la couche d'application peut choisir d'appeler la famille de fonctions de synchronisation pour lancer directement l'opération de synchronisation non limitée par la règle normale de non-disponible dans le rappel. Toutefois, il convient de noter que ce rappel spécial se trouve toujours au-dessus de la pile de rappel de la couche de l'échange Weave.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
Attributs publics
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
Si cette règle n'est pas configurée, l'implémentation par défaut renvoie toujours "true"
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Si cette règle n'est pas configurée, le comportement par défaut prend tous les résultats, à l'exception des très petites corrections du serveur
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
méthode de cryptage pour la communication locale
mKeyId
uint16_t mKeyId
ID de clé utilisé pour les communications locales
Attributs protégés
mApp
void * mApp
pointeur vers des données de couche supérieure
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Connexion TCP utilisée pour communiquer avec le service.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Coordonnées apprises tout au long de la découverte.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
"true" si nous sommes dans un rappel de la couche supérieure
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Rôle réel de ce nœud.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
Notez qu'il doit s'agir du temps de démarrage, car nous avons besoin d'une compensation pour le temps de sommeil.
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
Notez qu'il doit s'agir du temps de démarrage, car nous avons besoin d'une compensation pour le temps de sommeil.
Fonctions publiques
Annuler
WEAVE_ERROR Abort( void )
forcer le moteur à revenir à l'état inactif, ce qui annule toute activité en cours.
Notez qu'aucun appel de réussite ou d'échec de synchronisation n'est effectué. tous les échanges Weave sont fermés. Les connexions TCP ne seront pas touchées davantage. aucune opération si nous sommes déjà à l'état inactif. non disponible dans les rappels.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
DisableAutoSync
void DisableAutoSync( void )
désactiver la synchronisation automatique.
n'est disponible qu'en cas d'inactivité. non disponible dans les rappels.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
activer la synchronisation automatique.
n'est disponible qu'en cas d'inactivité. la découverte se produit immédiatement. non disponible dans les rappels.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
getter simple pour le nombre maximal de contacts que ce moteur est configuré pour stocker
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
pour extraire la probabilité des valeurs persistantes.
le résultat n'est valide qu'une fois l'opération de synchronisation terminée, dans les rappels de OnSyncSucceeded et OnSyncFailed. sinon il est temporaire et pourrait correspondre à la probabilité actuelle plutôt qu'à la probabilité suivante à utiliser.
Détails | |
---|---|
Renvoie |
probabilité que la réponse soit utilisée dans la prochaine requête
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
pour initialiser ce client.
non disponible dans les rappels
Détails | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
InitCoordinator
WEAVE_ERROR InitCoordinator( nl::Weave::WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
initialisez ce coordinateur.
Détails | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
Initialiser pour le rôle Serveur doit être appelé en tant que première fonction après la construction de l'objet si l'intention est d'être un serveur de synchronisation temporelle.
non disponible dans les rappels
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Appelée par la couche supérieure pour la notification de modification de l'heure de multidiffusion.
non disponible dans les rappels.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Appelée par la couche supérieure pour indiquer que nous venons de terminer une synchronisation arrondie avec n'importe quel serveur ou par un moyen fiable tel que NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Appelée par une couche supérieure pour indiquer que nous venons de terminer une synchronisation partielle avec d'autres coordinateurs locaux.
Détails | |||
---|---|---|---|
Paramètres |
|
Arrêt
WEAVE_ERROR Shutdown( void )
le service, quel que soit son rôle.
Cette fonction doit être appelée pour récupérer correctement les ressources allouées avant que l'une des fonctions init ne puisse être appelée à nouveau. non disponible dans les rappels.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
Synchroniser
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
synchroniser à l'aide des contacts existants.
l'opération de synchronisation peut échouer si aucun contact valide n'est disponible. Définissez aForceDiscoverAgain sur "true" pour forcer la découverte immédiatement. n'est disponible qu'en cas d'inactivité. non disponible dans les rappels.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
effectuer la synchronisation à l'aide de la liste de contacts fournie.
votre liste de contacts existante serait vidée. n'est disponible qu'en cas d'inactivité. non disponible dans les rappels.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
à l'aide de la connexion TCP donnée et de l'ID de clé et de chiffrement associé.
l'appelant doit s'approprier la connexion TCP une fois la synchronisation terminée. aucun rappel ne serait écrasé pour la connexion TCP, car un nouvel échange Weave Exchange serait créé et les rappels définis en plus de ce contexte ne seraient disponibles qu'à l'état inactif. non disponible dans les rappels.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
TimeSyncNode
TimeSyncNode( void )
Fonctions protégées
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
annulation interne si aCode n'est pas WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
Fonction interne permettant de lancer une session de synchronisation automatique
CallbackForSyncCompletion
WEAVE_ERROR CallbackForSyncCompletion( const bool aIsSuccessful, bool aShouldUpdate, const bool aIsCorrectionReliable, const bool aIsFromServer, const uint8_t aNumContributor, const timesync_t aSystemTimestamp_usec, const timesync_t aDiffTime_usec )
à déclencher un rappel vers la couche d'application.
Définissez aIsSuccess sur "false" pour induire le rappel d'erreur.
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
renvoyer un emplacement pour stocker les coordonnées
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
obtenir le prochain contact valide et inactif avec lequel communiquer
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
obtenir le nombre de contacts valides, mais dont nous n'avons pas encore parlé.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
obtenir le nombre de "fiables" réponses recueillies jusqu’à présent.
appelé pour déterminer si nous avons collecté suffisamment de réponses
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
invalider tous les contacts locaux
InvalidateServiceContact
void InvalidateServiceContact( void )
invalider le contact avec le service
RegisterCommError
void RegisterCommError( Contact *const aContact )
enregistre une erreur de communication sur un contact donné et raccourcit la période de découverte automatique si nécessaire. La valeur d'un contact peut être NULL pour indiquer que nous n'avons personne à qui parler, et donc raccourcir la période de découverte automatique.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
envoyer une demande de synchronisation unicast à un contact.
*rIsMessageSent sera défini pour indiquer si le message a été envoyé. les erreurs de communication telles que l’adresse inaccessible n’est pas renvoyée, donc l’appelant doit vérifier à la fois le code de retour et *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
rétablir l'état inactif de tous les contacts terminés, mais sans modifier la réponse.
cette méthode est appelée entre deux échanges de communications avec le même nœud
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
définir tous les contacts locaux valides sur l'état inactif et effacer la réponse ;
cette méthode est appelée avant que nous ne commencions à les contacter un par un
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
Créer un échange Weave Exchange pour une communication monodiffusion
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
enregistrer les coordonnées d'un nœud qui vient de nous envoyer une notification de changement d'heure
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
traiter une réponse provenant d'une requête multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
traiter une réponse provenant d'une requête monodiffusion
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
pour le rôle Client.
Destiné à être utilisé en interne par la famille de fonctions publiques Init. mClientState doit être défini avant le renvoi. non disponible dans les rappels
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
pour le rôle Serveur.
Destiné à être utilisé en interne par la famille de fonctions publiques Init. mClientState doit être défini avant le renvoi. non disponible dans les rappels
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
Arrêtez le client qui n'est pas disponible dans les rappels.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
arrêter le coordinateur qui n'est pas disponible dans les rappels ;
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
si vous arrêtez le serveur et ne sont pas disponibles dans les rappels.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
Fonctions statiques protégées
HandleAutoDiscoveryTimeout
void HandleAutoDiscoveryTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleAutoSyncTimeout
void HandleAutoSyncTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleMulticastResponseTimeout
void HandleMulticastResponseTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleMulticastSyncResponse
void HandleMulticastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleSyncRequest
void HandleSyncRequest( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
Rappel de Weave Exchange lorsqu'une requête de synchronisation de l'heure arrive
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleUnicastResponseTimeout
void HandleUnicastResponseTimeout( ExchangeContext *const ec )
HandleUnicastSyncResponse
void HandleUnicastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleUnreliableAfterBootTimer
void HandleUnreliableAfterBootTimer( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
rappel du minuteur Weave lorsque nous avons transmis le problème de fiabilité après la barrière de sécurité
IsOperationalState
bool IsOperationalState( ClientState aState )
Déterminer si un état donné est opérationnel
Méthode pratique permettant de déterminer si l'état ClientState indique un état opérationnel, c'est-à-dire si le client a terminé l'initialisation et n'est pas en train de s'arrêter.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
"true" si l'état tombe après la fin de l'initialisation et avant le début de l'arrêt, "false" dans le cas contraire.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )