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 *
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
|
enum état actuel de ce client de synchronisation de l'heure |
CommState
|
enum 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 temporelle à 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 requête de synchronisation de l'heure. |
ResponseStatus
|
enum le statut d'une réponse stockée à un contact donné. |
ServerState{
|
enum état actuel de ce serveur de synchronisation de l'heure |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
qui se produit lorsque la synchronisation est considérée comme ayant échoué (y compris 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 a été 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 ce champ n'est pas défini, l'implémentation par défaut renvoie toujours la valeur "true"
|
OnSyncSucceeded
|
Si cette règle n'est pas configurée, le comportement par défaut s'applique à tous les résultats, à l'exception de très petites corrections de serveur.
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
méthode de chiffrement pour la communication locale
|
mKeyId
|
uint16_t
ID de clé utilisé pour la communication locale
|
Attributs protégés |
|
---|---|
mApp
|
void *
pointeur vers les données de la 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" en cas de 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 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 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, en annulant ce qu’il est en train de faire.
|
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
la probabilité de persistante.
|
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)
|
d'initialiser ce coordinateur.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
l'initialisation pour le rôle "Serveur" doit être appelée 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 vers la notification de changement d'heure de multidiffusion.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Appelée par une couche supérieure pour indiquer que nous venons de terminer une synchronisation temporelle avec n'importe quel serveur ou par un moyen fiable comme NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Appelée par une couche supérieure pour indiquer que nous venons de terminer une synchronisation avec d'autres coordinateurs locaux.
|
Shutdown(void)
|
arrêter le service, quel que soit son rôle.
|
Sync(const bool aForceDiscoverAgain)
|
à l'aide des contacts existants.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
synchroniser à l'aide de la liste de contacts donnée.
|
SyncWithService(WeaveConnection *const aConnection)
|
synchroniser à l'aide de la connexion TCP donnée et de l'ID de chiffrement et de clé associé.
|
Fonctions protégées |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
abandon 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 à la couche d'application.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
fermer le 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 à qui parler
|
GetNumNotYetCompletedContacts(void)
|
int16_t
obtenir le nombre de contacts valides, mais nous n'avons pas encore parlé.
|
GetNumReliableResponses(void)
|
int16_t
obtenir le nombre de réponses « fiables »
collectées 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
enregistrer une erreur de communication sur un contact donné et raccourcir la période de détection automatique si nécessaire. Un contact peut être NULL pour indiquer que nous n'avons personne à qui parler, et donc raccourcir la période de détection automatique.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
envoyer une demande de synchronisation unicast à un contact
|
SetAllCompletedContactsToIdle(void)
|
int16_t
réinitialisez tous les contacts terminés à l'état inactif, mais ne touchez pas 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 une plate-forme Weave Exchange pour la communication unicast
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
Stocker 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 de multidiffusion ;
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
traiter une réponse provenant d'une requête unicast ;
|
_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êter le client non disponible dans les rappels.
|
_ShutdownCoordinator(void)
|
arrêter le coordinateur qui n'est pas disponible dans les rappels.
|
_ShutdownServer(void)
|
arrêter le serveur non disponible 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 à l'arrivée d'une requête de synchronisation de l'heure
|
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 non-fiabilité après la barrière de démarrage
|
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 finira par entraîner une autre transition d'état (peut-être un délai d'inactivité). Si même le minuteur échoue, nous sommes à court d'exercice et pouvons être bloqués 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 de l'heure
CommState
CommState
le statut de la communication à un certain contact.
Ceci est public, car Contact est un public public
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
se produit juste avant de calculer la correction temporelle à partir des réponses.
couche application pourrait remplacer aContact[i].mResponseStatus par kResponseStatus_Invalid, afin que cette 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 requête de synchronisation de l'heure.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Renvoie |
"false" et le moteur doit ignorer cette requête
|
ResponseStatus
ResponseStatus
le statut d'une réponse stockée à un contact donné.
Ceci est public, car Contact est un public public
ServerState
ServerState
état actuel de ce serveur de synchronisation de l'heure
Propriétés | |
---|---|
kServerState_Idle
|
le serveur est prêt à répondre aux requêtes avec des paramètres normaux ; |
kServerState_UnreliableAfterBoot
|
temps réservé au serveur pour synchroniser son heure système par un autre moyen, uniquement significatif si aIsAlwaysFresh est défini sur "true" lorsque Init est appelé |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
qui se produit lorsque la synchronisation est considérée comme ayant échoué (y compris la synchronisation automatique).
notez que le rappel n'a pas lieu si la commande Abort 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 a été considérée comme réussie (y compris la synchronisation automatique), mais avant l'application du résultat.
Notez que l'obtention de succès ne signifie pas que nous disposons de résultats applicables. Si aucune réponse n'était reçue, aNumContributeur serait défini sur 0. La couche d'application pourrait remplacer aContact[i].mResponseStatus par kResponseStatus_Invalid, afin que la réponse soit 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 aNumContributor est défini sur 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 est automatiquement planifié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 une opération de synchronisation non limitée par la règle de rappel standard indisponible. Toutefois, il convient de noter que ce rappel spécial se trouve toujours au-dessus de la pile de rappel de la couche Weave Exchange.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
Attributs publics
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
Si ce champ n'est pas défini, l'implémentation par défaut renvoie toujours la valeur "true"
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Si cette règle n'est pas configurée, le comportement par défaut s'applique à tous les résultats, à l'exception de très petites corrections de serveur.
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
méthode de chiffrement pour la communication locale
mKeyId
uint16_t mKeyId
ID de clé utilisé pour la communication locale
Attributs protégés
mApp
void * mApp
pointeur vers les données de la 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" en cas de 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 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 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, en annulant ce qu’il est en train de faire.
Notez qu'aucune synchronisation (succès ou échec) ne sera appelée. Tous les échanges Weave seraient clôturés. Les connexions TCP ne seront pas touchées davantage. Aucune opération si l'état est déjà inactif et 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.
Disponible uniquement à l'état inactif. 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.
Disponible uniquement à l'état inactif. La découverte s'effectue immédiatement. Elle n'est pas 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
la probabilité de persistante.
le résultat ne serait valide qu'une fois l'opération de synchronisation terminée, dans les rappels d'OnSyncSucceeded et OnSyncFailed. Dans le cas contraire, il est temporaire et pourrait correspondre à la probabilité actuelle plutôt qu'à la suivante à utiliser.
Détails | |
---|---|
Renvoie |
probabilité que la réponse soit utilisée dans la requête suivante
|
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 )
d'initialiser 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 )
l'initialisation pour le rôle "Serveur" doit être appelée 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 vers la notification de changement d'heure de multidiffusion.
non disponible dans les rappels.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Appelée par une couche supérieure pour indiquer que nous venons de terminer une synchronisation temporelle avec n'importe quel serveur ou par un moyen fiable comme NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Appelée par une couche supérieure pour indiquer que nous venons de terminer une synchronisation avec d'autres coordinateurs locaux.
Détails | |||
---|---|---|---|
Paramètres |
|
Arrêt
WEAVE_ERROR Shutdown( void )
arrêter le service, quel que soit son rôle.
Cette fonction doit être appelée pour récupérer correctement les ressources allouées avant de pouvoir effectuer un autre appel à l'une des fonctions init. Elle n'est pas disponible dans les rappels.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
Synchroniser
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
à 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étection immédiatement. Disponible uniquement à l'état inactif. 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[] )
synchroniser à l'aide de la liste de contacts donnée.
la liste de contacts existante serait supprimée. Disponible uniquement à l'état inactif. 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 )
synchroniser à l'aide de la connexion TCP donnée et de l'ID de chiffrement et de clé associé.
L'appelant doit s'approprier la connexion TCP une fois la synchronisation terminée. Aucun rappel ne sera écrasé pour la connexion TCP, car un nouvel échange Weave Exchange serait créé et les rappels définis sur ce contexte ne sont disponibles qu'en cas d'inactivité. Non disponibles 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 )
abandon 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 à la couche d'application.
Définissez aIsRéussi sur "false" pour déclencher 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 à qui parler
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
obtenir le nombre de contacts valides, mais nous n'avons pas encore parlé.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
obtenir le nombre de réponses « fiables » collectées jusqu’à présent.
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 )
enregistrer une erreur de communication sur un contact donné et raccourcir la période de détection automatique si nécessaire. Un contact peut être NULL pour indiquer que nous n'avons personne à qui parler, et donc raccourcir la période de détection automatique.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
envoyer une demande de synchronisation unicast à un contact
*rIsMessageSent est configuré pour indiquer si le message a été envoyé. Les erreurs de communication telles que l'adresse inaccessible ne sont pas renvoyées. L'appelant doit donc vérifier à la fois le code de retour et *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
réinitialisez tous les contacts terminés à l'état inactif, mais ne touchez pas la réponse.
entre deux cycles de communication 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 fonction 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 une plate-forme Weave Exchange pour la communication unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
Stocker 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 de multidiffusion ;
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
traiter une réponse provenant d'une requête unicast ;
Client_init
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. Vous devez définir mClientState avant le retour. Non disponible dans les rappels
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_ServeurInit
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
pour le rôle "Serveur".
Destiné à être utilisé en interne par la famille de fonctions publiques Init. Vous devez définir mClientState avant le retour. Non disponible dans les rappels
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
arrêter le client non disponible dans les rappels.
Détails | |
---|---|
Renvoie |
WEAVE_NO_ERROR en cas de réussite
|
_coordinateur d'arrêt
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
|
_Arrêter le serveur
WEAVE_ERROR _ShutdownServer( void )
arrêter le serveur non disponible 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 à l'arrivée d'une requête de synchronisation de l'heure
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 non-fiabilité après la barrière de démarrage
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 que le client a terminé l'initialisation et n'est pas en cours d'arrêt.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
"true" si l'état tombe après l'initialisation et avant le début de l'arrêt. Sinon, la valeur "false" est renvoyée.
|
_OnSyncSucceeded (Synchronisation réussie)
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )