nl:: Weave:: Profiles:: Time:: TimeSyncNode
Resumen
Herencia
Hereda de: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Constructores y destructores |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
estados utilizados para la función de sincronización automática.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
el contexto de la comunicación.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
estas funciones de transición de estado son internas y no pueden mostrar código de error, ya que el estado anterior no tendría forma de manejarlas.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Tipos públicos |
|
---|---|
ClientState
|
enum Estado actual de este cliente de sincronización de tiempo |
CommState
|
enum estado de la comunicación con un determinado contacto. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
la devolución de llamada ocurre justo antes de que calculemos la corrección de tiempo de las respuestas. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
para indicar que acabamos de recibir una solicitud de sincronización de tiempo. |
ResponseStatus
|
enum estado de la respuesta almacenada a un contacto determinado. |
ServerState{
|
enum estado actual de este servidor de sincronización de tiempo |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
la devolución de llamada se produce cuando se considera que falla la sincronización, incluida la sincronización automática. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
la devolución de llamada se produce después de que la sincronización se considera exitosa, incluida la automática, pero antes de que se aplique el resultado. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
para indicar que acabamos de recibir una notificación de cambio de hora. |
Atributos públicos |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
si no se establece, la implementación predeterminada siempre muestra un valor verdadero
|
OnSyncSucceeded
|
Si no se establece, el comportamiento predeterminado será recibir todos los resultados, excepto las correcciones muy pequeñas del servidor.
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
método de encriptación para la comunicación local
|
mKeyId
|
uint16_t
ID de clave utilizado para la comunicación local
|
Atributos protegidos |
|
---|---|
mApp
|
void *
puntero a datos de la capa superior
|
mClientState
|
|
mConnectionToService
|
Conexión TCP utilizada para comunicarse con el servicio.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Información de contacto que se obtuvo durante el descubrimiento.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
true si estamos en una devolución de llamada a la capa superior
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Es la función real de este nodo.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
Ten en cuenta que debe ser el tiempo de inicio, ya que necesitamos compensación por el tiempo de sueño.
|
mTimestampLastLocalSync_usec
|
timesync_t
Ten en cuenta que debe ser el tiempo de inicio, ya que necesitamos compensación por el tiempo de sueño.
|
Funciones públicas |
|
---|---|
Abort(void)
|
forzar al motor para que vuelva al estado inactivo y anula todo lo que esté haciendo.
|
DisableAutoSync(void)
|
void
inhabilitar la sincronización automática.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
habilitar la sincronización automática.
|
GetCapacityOfContactList(void) const
|
int
Método get simple para la cantidad máxima de contactos que este motor está configurado para almacenar
|
GetClientState(void) const
|
método get simple para el estado del cliente
|
GetNextLikelihood(void) const
|
int8_t
y extraer la probabilidad de recursos persistentes.
|
GetServerState(void) const
|
método get simple para el estado del servidor
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
inicializar este cliente.
|
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)
|
inicializar este coordinador.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
Se debe llamar a la inicialización para el rol de servidor como la primera función después de la construcción del objeto si la intención es ser un servidor de sincronización de tiempo.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Lo llama una capa superior a la notificación de cambio de tiempo de multidifusión.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Lo llama una capa más alta para indicar que acabamos de terminar una ronda de sincronización de tiempo con cualquier servidor o a través de algún medio confiable, como NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Se llama desde una capa superior para indicar que acabamos de finalizar una ronda de sincronización de tiempo con otros coordinadores locales.
|
Shutdown(void)
|
detener el servicio, sin importar el rol que desempeñe.
|
Sync(const bool aForceDiscoverAgain)
|
sincronizar con los contactos existentes.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
sincronizar usando la lista de contactos proporcionada.
|
SyncWithService(WeaveConnection *const aConnection)
|
y sincronizar mediante la conexión TCP determinada
y la encriptación y el ID de clave asociados.
|
Funciones protegidas |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
anulación interna si aCode no es WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
función interna para iniciar una sesión de sincronización automática
|
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)
|
inducir la devolución de llamada a la capa de la aplicación
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
cierra ExchangeContext de Weave.
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
devolver un horario disponible para almacenar la información de contacto
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
obtener el siguiente contacto válido e inactivo con el que hablar
|
GetNumNotYetCompletedContacts(void)
|
int16_t
obtener la cantidad de contactos válidos, pero aún no hemos hablado con ellos.
|
GetNumReliableResponses(void)
|
int16_t
obtener el número de respuestas “confiables” recopiladas hasta el momento.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
invalidar todos los contactos locales
|
InvalidateServiceContact(void)
|
void
invalidar el contacto con el servicio
|
RegisterCommError(Contact *const aContact)
|
void
Registrar el error de comunicación en un contacto determinado y acortar el período de detección automática, si es necesario, aContact puede ser NULL para indicar que no hay nadie con quien hablar y, por lo tanto, acortar el período de detección automática
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
enviar una solicitud de sincronización de Unicast a un contacto
|
SetAllCompletedContactsToIdle(void)
|
int16_t
restablecer todos los contactos completados al estado inactivo nuevamente, pero no toques la respuesta.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
establecer todos los contactos locales válidos en estado de inactividad y borrar la respuesta.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
Crear un nuevo Weave Exchange para la comunicación unicast
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
almacenar la información de contacto de un nodo que acaba de enviar una notificación de cambio de hora
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
procesar una respuesta que proviene de una solicitud multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
procesar una respuesta que proviene de una solicitud unicast
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
inicializar para el rol de cliente.
|
_InitServer(const bool aIsAlwaysFresh)
|
para el rol de servidor.
|
_ShutdownClient(void)
|
detener al cliente no disponible en las devoluciones de llamada
|
_ShutdownCoordinator(void)
|
detener al coordinador no disponible en las devoluciones de llamada
|
_ShutdownServer(void)
|
detener el servidor no disponible en las devoluciones de llamada
|
Funciones estáticas protegidas |
|
---|---|
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
Devolución de llamada de Weave Exchange cuando llega una solicitud de sincronización de hora
|
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
devolución de llamada de Weave Timer cuando pasamos la barrera poco confiable después del inicio.
|
IsOperationalState(ClientState aState)
|
bool
Determina si el estado determinado es operativo.
|
_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
estados utilizados para la función de sincronización automática.
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 )
estas funciones de transición de estado son internas y no pueden mostrar código de error, ya que el estado anterior no tendría forma de manejarlas.
cualquier falla provocará, al final, otra transición de estado (podría ser tiempo de espera) si incluso el temporizador falla, estamos fuera de juego y podríamos quedarnos en un estado incorrecto.
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 )
Tipos públicos
ClientState
ClientState
Estado actual de este cliente de sincronización de tiempo
CommState
CommState
estado de la comunicación con un determinado contacto.
Esto es público porque Contact es público
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
la devolución de llamada ocurre justo antes de que calculemos la corrección de tiempo de las respuestas.
la capa de aplicación podría reemplazar aContact[i].mResponseStatus por kResponseStatus_Invalid para que se ignore la respuesta en el cálculo
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
para indicar que acabamos de recibir una solicitud de sincronización de tiempo.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Qué muestra |
false, y el motor ignorará esta solicitud
|
ResponseStatus
ResponseStatus
estado de la respuesta almacenada a un contacto determinado.
Esto es público porque Contact es público
ServerState
ServerState
estado actual de este servidor de sincronización de tiempo
Propiedades | |
---|---|
kServerState_Idle
|
El servidor está listo para responder solicitudes con la configuración normal |
kServerState_UnreliableAfterBoot
|
tiempo reservado para que el servidor sincronice su hora del sistema a través de algún otro medio solo es significativo si aIsAlwaysFresh es verdadero cuando se llama a Init |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
la devolución de llamada se produce cuando se considera que falla la sincronización, incluida la sincronización automática.
Ten en cuenta que no se realizará la devolución de llamada si se llama a la función Anulación para detener la sincronización
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
la devolución de llamada se produce después de que la sincronización se considera exitosa, incluida la automática, pero antes de que se aplique el resultado.
Ten en cuenta que tener éxito no significa que tengamos resultados aplicables. En caso de que no se reciba ninguna respuesta, se establecerá a NumContributor en 0. La capa de la aplicación podría reemplazar aContact[i].mResponseStatus por kResponseStatus_Invalid para que se ignore la respuesta en el cálculo.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Qué muestra |
true si se debe usar este desplazamiento para ajustar la hora del sistema. En caso de que aNumContributor sea 0, se ignorará el valor que se muestra.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
para indicar que acabamos de recibir una notificación de cambio de hora.
Si se habilita el modo de sincronización automática, se programará una sincronización de tiempo poco después de esta devolución de llamada automáticamente. De lo contrario, la capa de la aplicación puede elegir llamar a la familia de funciones de sincronización para iniciar directamente la operación de sincronización que no esté restringida por la regla normal de no disponible en la llamada. Sin embargo, se debe tener en cuenta que esta devolución de llamada especial sigue estando sobre la pila de devolución de llamada de la capa de intercambio de Weave.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
Atributos públicos
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
si no se establece, la implementación predeterminada siempre muestra un valor verdadero
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Si no se establece, el comportamiento predeterminado será recibir todos los resultados, excepto las correcciones muy pequeñas del servidor.
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
método de encriptación para la comunicación local
mKeyId
uint16_t mKeyId
ID de clave utilizado para la comunicación local
Atributos protegidos
mApp
void * mApp
puntero a datos de la capa superior
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Conexión TCP utilizada para comunicarse con el servicio.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Información de contacto que se obtuvo durante el descubrimiento.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
true si estamos en una devolución de llamada a la capa superior
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Es la función real de este nodo.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
Ten en cuenta que debe ser el tiempo de inicio, ya que necesitamos compensación por el tiempo de sueño.
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
Ten en cuenta que debe ser el tiempo de inicio, ya que necesitamos compensación por el tiempo de sueño.
Funciones públicas
Anular
WEAVE_ERROR Abort( void )
forzar al motor para que vuelva al estado inactivo y anula todo lo que esté haciendo.
Ten en cuenta que no se llamaría si la sincronización se completó correctamente o no. Se cerrarían todos los intercambios de Weave. Las conexiones TCP no se tocarían más. No se produce ninguna operación si ya estamos en estado inactivo. No está disponible en las devoluciones de llamada.
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
DisableAutoSync
void DisableAutoSync( void )
inhabilitar la sincronización automática.
Solo está disponible en estado inactivo. No está disponible en devoluciones de llamada.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
habilitar la sincronización automática.
Solo está disponible en estado inactivo. El descubrimiento se realiza de inmediato. No está disponible en devoluciones de llamada.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
Método get simple para la cantidad máxima de contactos que este motor está configurado para almacenar
GetClientState
ClientState GetClientState( void ) const
método get simple para el estado del cliente
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
y extraer la probabilidad de recursos persistentes.
el resultado solo será válido después de que se complete la operación de sincronización, dentro de las devoluciones de llamada de OnSyncSucceeded y OnSyncFailed. De lo contrario, es transitorio y podría constituir la probabilidad actual en lugar de la próxima que se utilizará.
Detalles | |
---|---|
Qué muestra |
probabilidad de que se use la respuesta en la próxima solicitud
|
GetServerState
ServerState GetServerState( void ) const
método get simple para el estado del servidor
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inicializar este cliente.
no disponible en devoluciones de llamada
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
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 )
inicializar este coordinador.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
Se debe llamar a la inicialización para el rol de servidor como la primera función después de la construcción del objeto si la intención es ser un servidor de sincronización de tiempo.
no disponible en devoluciones de llamada
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Lo llama una capa superior a la notificación de cambio de tiempo de multidifusión.
no está disponible en las devoluciones de llamada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Lo llama una capa más alta para indicar que acabamos de terminar una ronda de sincronización de tiempo con cualquier servidor o a través de algún medio confiable, como NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Se llama desde una capa superior para indicar que acabamos de finalizar una ronda de sincronización de tiempo con otros coordinadores locales.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cierre
WEAVE_ERROR Shutdown( void )
detener el servicio, sin importar el rol que desempeñe.
Se debe llamar a esta función para reclamar correctamente los recursos asignados, antes de que se pueda realizar otra llamada a cualquiera de las funciones init. No está disponible en las devoluciones de llamada.
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
Sincronizar
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
sincronizar con los contactos existentes.
La operación de sincronización podría fallar si no hay contactos válidos disponibles. Configura aForceDiscoverAgain como verdadera para forzar la detección de inmediato. Solo está disponible en estado inactivo. No está disponible en devoluciones de llamada.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
sincronizar usando la lista de contactos proporcionada.
Se descartará la lista de contactos existente. Solo está disponible en estado inactivo. No está disponible en devoluciones de llamada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
y sincronizar mediante la conexión TCP determinada y la encriptación y el ID de clave asociados.
El llamador debe asumir la propiedad de la conexión TCP una vez finalizada la sincronización. No se reemplazará ninguna devolución de llamada para la conexión TCP, ya que se creará un nuevo intercambio de Weave y las devoluciones de llamada establecidas sobre ese contexto solo estarán disponibles en estado inactivo. No estarán disponibles en las devoluciones de llamada.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
TimeSyncNode
TimeSyncNode( void )
Funciones protegidas
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
anulación interna si aCode no es WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
función interna para iniciar una sesión de sincronización automática
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 )
inducir la devolución de llamada a la capa de la aplicación
Establece aIsSuccessful como falso para inducir la devolución de llamada de error.
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
devolver un horario disponible para almacenar la información de contacto
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
obtener el siguiente contacto válido e inactivo con el que hablar
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
obtener la cantidad de contactos válidos, pero aún no hemos hablado con ellos.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
obtener el número de respuestas “confiables” recopiladas hasta el momento.
para determinar si ya hemos recopilado una cantidad suficiente de respuestas
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
invalidar todos los contactos locales
InvalidateServiceContact
void InvalidateServiceContact( void )
invalidar el contacto con el servicio
RegisterCommError
void RegisterCommError( Contact *const aContact )
Registrar el error de comunicación en un contacto determinado y acortar el período de detección automática, si es necesario, aContact puede ser NULL para indicar que no hay nadie con quien hablar y, por lo tanto, acortar el período de detección automática
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
enviar una solicitud de sincronización de Unicast a un contacto
*rIsMessageSent se configurará para indicar si el mensaje se envió. No se muestran errores de comunicación como "address not reachable", por lo que el emisor debe verificar tanto el código de retorno como *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
restablecer todos los contactos completados al estado inactivo nuevamente, pero no toques la respuesta.
esto se llama entre dos rondas de comunicación con el mismo nodo
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
establecer todos los contactos locales válidos en estado de inactividad y borrar la respuesta.
lo llamamos antes de empezar a comunicarnos con él uno por uno
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
Crear un nuevo Weave Exchange para la comunicación unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
almacenar la información de contacto de un nodo que acaba de enviar una notificación de cambio de hora
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
procesar una respuesta que proviene de una solicitud multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
procesar una respuesta que proviene de una solicitud unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inicializar para el rol de cliente.
Diseñado para ser utilizado internamente por la familia Init de funciones públicas. Se debe configurar mClientState antes de la devolución. No está disponible en devoluciones de llamada.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
_Servidor inicial
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
para el rol de servidor.
Diseñado para ser utilizado internamente por la familia Init de funciones públicas. Se debe configurar mClientState antes de la devolución. No está disponible en devoluciones de llamada.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
detener al cliente no disponible en las devoluciones de llamada
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
_Coordinador de apagado
WEAVE_ERROR _ShutdownCoordinator( void )
detener al coordinador no disponible en las devoluciones de llamada
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
_Servidor apagado
WEAVE_ERROR _ShutdownServer( void )
detener el servidor no disponible en las devoluciones de llamada
Detalles | |
---|---|
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
Funciones estáticas protegidas
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 )
Devolución de llamada de Weave Exchange cuando llega una solicitud de sincronización de hora
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 )
devolución de llamada de Weave Timer cuando pasamos la barrera poco confiable después del inicio.
IsOperationalState
bool IsOperationalState( ClientState aState )
Determina si el estado determinado es operativo.
Método de conveniencia para determinar si ClientState denota estado operativo, es decir, el cliente completó la inicialización y no está en proceso de cierre.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
true si el estado cae después de que se completa la inicialización y antes de que comience el cierre; de lo contrario, muestra false.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )