nl :: Tejido:: Perfiles: Hora:: TimeSyncNode
Resumen
Herencia
Hereda de: nl :: Armadura :: Perfiles :: :: Tiempo _ TimeSyncNodeBaseConstructores 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 * contexto de comunicación. |
mExchangeContext | |
mUnadjTimestampLastSent_usec | timesync_t |
EnterState_Discover (void) | void estas funciones de transición de estado son internas y no pueden devolver 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 | enumeración estado actual de este Time Sync Client |
CommState | enumeración 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 a partir de las respuestas. |
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) | typedefbool(* devolución de llamada para indicar que acabamos de recibir una solicitud de sincronización de hora. |
ResponseStatus | enumeración estado de la respuesta almacenada a un determinado contacto. |
ServerState { | enumeración estado actual de este servidor de sincronización horaria |
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) | typedefvoid(* la devolución de llamada ocurre cuando la sincronización se considera fallida, 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 ocurre después de que la sincronización se considera exitosa, incluida la sincronización automática, pero antes de que se aplique el resultado. |
TimeChangeNotificationHandler )(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr) | typedefvoid(* devolución de llamada 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 devuelve verdadero |
OnSyncSucceeded | si no se establece, el comportamiento predeterminado es tomar todos los resultados, excepto las pequeñas correcciones del servidor |
OnTimeChangeNotificationReceived | |
mEncryptionType | uint8_t método de cifrado para la comunicación local |
mKeyId | uint16_t ID de clave utilizada para la comunicación local |
Atributos protegidos | |
---|---|
mApp | void * puntero a datos de capa superior |
mClientState | |
mConnectionToService | Conexión TCP utilizada para hablar con el servicio. |
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS] | Contacto información aprendida a lo largo de descubrimiento. |
mIsAlwaysFresh | bool |
mIsInCallback | bool cierto si estamos en una devolución de llamada a una capa superior |
mLastLikelihoodSent | int8_t |
mNumContributorInLastLocalSync | uint8_t |
mRole | TimeSyncRole Rol real de este nodo. |
mServerState | |
mServiceContact | |
mTimestampLastCorrectionFromServerOrNtp_usec | timesync_t tenga en cuenta que tiene que ser el tiempo de arranque, ya que necesitamos una compensación por el tiempo de suspensión |
mTimestampLastLocalSync_usec | timesync_t tenga en cuenta que tiene que ser el tiempo de arranque, ya que necesitamos una compensación por el tiempo de suspensión |
Funciones publicas | |
---|---|
Abort (void) | forzar al motor a volver al estado inactivo, abortando todo lo que esté haciendo. |
DisableAutoSync (void) | void deshabilitar 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 captador simple para el número máximo de contactos que este motor está configurado para almacenar |
GetClientState (void) const | captador simple para el estado del cliente |
GetNextLikelihood (void) const | int8_t extraer la probabilidad de persistente. |
GetServerState (void) const | captador simple para el estado del servidor |
InitClient (void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | inicialice 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) | inicialice este coordinador. |
InitServer (void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh) | initialize para el rol de servidor debe llamarse 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 Llamado por la capa superior a la notificación de cambio de hora de multidifusión. |
RegisterCorrectionFromServerOrNtp (void) | void Lo llama la capa superior para indicar que acabamos de finalizar una ronda de sincronización de tiempo con cualquier servidor o mediante algún medio confiable como NTP. |
RegisterLocalSyncOperation (const uint8_t aNumContributor) | void Lo llama la capa superior para indicar que acabamos de finalizar una ronda de sincronización de tiempo con otros coordinadores locales. |
Shutdown (void) | detener el servicio, independientemente del papel que desempeñe. |
Sync (const bool aForceDiscoverAgain) | sincronizar usando contactos existentes. |
SyncWithNodes (const int16_t aNumNode, const ServingNode aNodes[]) | sincronizar usando la lista de contactos dada. |
SyncWithService ( WeaveConnection *const aConnection) | sincronizar usando la conexión TCP dada y el cifrado asociado y el ID de clave. |
Funciones protegidas | |
---|---|
AbortOnError (const WEAVE_ERROR aCode) | void aborto interno si un código 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 devolución de llamada a la capa de aplicación. |
ClearState (void) | void |
DestroyCommContext (void) | bool cerrar la armadura de ExchangeContext |
EndLocalSyncAndTryCalculateTimeFix (void) | void |
EndServiceSyncAndTryCalculateTimeFix (void) | void |
FindReplaceableContact (const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification) | Contact * devolver un espacio para almacenar información de contacto |
GetClientStateName (void) const | const char *const |
GetNextIdleContact (void) | Contact * conseguir el siguiente contacto válido e inactivo para hablar |
GetNumNotYetCompletedContacts (void) | int16_t obtener la cantidad de contactos que son válidos, pero aún no hemos hablado con ellos. |
GetNumReliableResponses (void) | int16_t Obtenga la cantidad 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 un error de comunicación en un determinado contacto y acortar el período de descubrimiento automático si es necesario un contacto puede ser NULO para indicar que no tenemos a nadie con quien hablar y, por lo tanto, acortar el período de descubrimiento automático |
SendSyncRequest (bool *const rIsMessageSent, Contact *const aContact) | enviar una solicitud de sincronización de unidifusión a un contacto. |
SetAllCompletedContactsToIdle (void) | int16_t restablezca todos los contactos completados al estado inactivo nuevamente, pero no toque la respuesta. |
SetAllValidContactsToIdleAndInvalidateResponse (void) | int16_t establezca todos los contactos locales válidos en estado inactivo y borre la respuesta. |
SetClientState (const ClientState state) | void |
SetupUnicastCommContext ( Contact *const aContact) | crear un nuevo Weave Exchange para la comunicación unidifusión |
StoreNotifyingContact (const uint64_t aNodeId, const IPAddress & aNodeAddr) | void almacenar la información de contacto de un nodo que nos 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 procedente de una solicitud de multidifusión |
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse) | void procesar una respuesta procedente de una solicitud de unidifusión |
_InitClient (const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | inicializar para el rol de Cliente. |
_InitServer (const bool aIsAlwaysFresh) | inicializar para el rol de servidor. |
_ShutdownClient (void) | detener al cliente no disponible en devoluciones de llamada. |
_ShutdownCoordinator (void) | detener el coordinador no disponible en devoluciones de llamada. |
_ShutdownServer (void) | detener el servidor no disponible en 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 tiempo |
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 arranque |
IsOperationalState ( ClientState aState) | bool Determine si el estado dado 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 devolver código de error ya que el estado anterior no tendría forma de manejarlas.
cualquier falla resultará en eventualmente otra transición de estado (podría ser un tiempo de espera) si incluso el temporizador falla, estamos fuera de truco y podríamos colgar en algún 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
Estado del cliente
ClientState
estado actual de este Time Sync Client
CommState
CommState
estado de la comunicación con un determinado contacto.
Esto es en el público porque de contacto es en público
ColaboradorFiltro
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 a partir de las respuestas.
la capa de aplicación podría sobrescribir unContact [i] .mResponseStatus a kResponseStatus_Invalid para que la respuesta se ignore en el cálculo
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
devolución de llamada para indicar que acabamos de recibir una solicitud de sincronización de hora.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Devoluciones | falso y el motor ignorará esta solicitud |
ResponseStatus
ResponseStatus
estado de la respuesta almacenada a un determinado contacto.
Esto es en el público porque de contacto es en público
ServerState
ServerState
estado actual de este servidor de sincronización horaria
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
la devolución de llamada ocurre cuando se considera que la sincronización ha fallado, incluida la sincronización automática.
tenga en cuenta que la devolución de llamada no ocurre si se llama a Abort 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 ocurre después de que la sincronización se considera exitosa, incluida la sincronización automática, pero antes de que se aplique el resultado.
Tenga en cuenta que el éxito no significa que tengamos resultados aplicables. En caso de que no se reciba respuesta, aNumContributor se establecerá en 0. La capa de aplicación podría sobrescribir aContact [i] .mResponseStatus en kResponseStatus_Invalid para que la respuesta se ignore en el cálculo.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||
Devoluciones | Es verdadero si este desplazamiento se utilizará para ajustar la hora del sistema. en caso de que aNumContributor sea 0, el valor de retorno se ignorará. |
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
devolución de llamada para indicar que acabamos de recibir una notificación de cambio de hora.
si el modo de sincronización automática está habilitado, se programará una sincronización de hora poco después de esta devolución de llamada automáticamente. de lo contrario, la capa de aplicación puede optar por llamar a la familia de funciones Sync para iniciar directamente la operación de sincronización no restringida por la regla normal de no disponible en la devolución de llamada. sin embargo, debe tenerse en cuenta que esta devolución de llamada especial sigue estando en la parte superior de 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 devuelve verdadero
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
si no se establece, el comportamiento predeterminado es tomar todos los resultados, excepto las pequeñas correcciones del servidor
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
método de cifrado para la comunicación local
mKeyId
uint16_t mKeyId
ID de clave utilizada para la comunicación local
Atributos protegidos
mApp
void * mApp
puntero a datos de capa superior
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Conexión TCP utilizada para hablar con el servicio.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Contacto información aprendida a lo largo de descubrimiento.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
cierto si estamos en una devolución de llamada a una capa superior
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Rol real de este nodo.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
tenga en cuenta que tiene que ser el tiempo de arranque, ya que necesitamos una compensación por el tiempo de suspensión
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
tenga en cuenta que tiene que ser el tiempo de arranque, ya que necesitamos una compensación por el tiempo de suspensión
Funciones publicas
Abortar
WEAVE_ERROR Abort( void )
forzar al motor a volver al estado inactivo, abortando todo lo que esté haciendo.
tenga en cuenta que no se llamará a la sincronización correcta o incorrecta. todos los intercambios de tejidos estarían cerrados. Las conexiones TCP no se tocarían más. ninguna operación si ya estamos en estado inactivo. no disponible en devoluciones de llamada.
Detalles | |
---|---|
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
DisableAutoSync
void DisableAutoSync( void )
deshabilitar la sincronización automática.
solo disponible en estado inactivo. no 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 disponible en estado inactivo. el descubrimiento ocurre de inmediato. no disponible en devoluciones de llamada.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
captador simple para el número máximo de contactos que este motor está configurado para almacenar
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
extraer la probabilidad de persistente.
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 ser la probabilidad actual en lugar de la siguiente que se utilizará.
Detalles | |
---|---|
Devoluciones | probabilidad de que la respuesta se utilice en la próxima solicitud |
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inicialice este cliente.
no disponible en devoluciones de llamada
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
Coordinador inicial
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 )
inicialice este coordinador.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
initialize para el rol de servidor debe llamarse 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 |
| ||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Llamado por la capa superior a la notificación de cambio de hora de multidifusión.
no disponible en devoluciones de llamada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Lo llama la capa superior para indicar que acabamos de finalizar una ronda de sincronización de tiempo con cualquier servidor o mediante algún medio confiable como NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Lo llama la capa superior para indicar que acabamos de finalizar una ronda de sincronización de tiempo con otros coordinadores locales.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cerrar
WEAVE_ERROR Shutdown( void )
detener el servicio, independientemente del papel que desempeñe.
Se debe llamar a esta función para recuperar correctamente los recursos asignados, antes de que se pueda realizar otra llamada a cualquiera de las funciones de inicio. no disponible en devoluciones de llamada.
Detalles | |
---|---|
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
Sincronizar
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
sincronizar usando contactos existentes.
La operación de sincronización podría fallar si no hay contactos válidos disponibles. establezca aForceDiscoverAgain en true para forzar el descubrimiento de inmediato. solo disponible en estado inactivo. no disponible en devoluciones de llamada.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
sincronizar usando la lista de contactos dada.
la lista de contactos existente se eliminaría. solo disponible en estado inactivo. no disponible en devoluciones de llamada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
sincronizar usando la conexión TCP dada y el cifrado asociado y el ID de clave.
la persona que llama debe tomar posesión de la conexión TCP después de que finalice la sincronización. no se sobrescribirá ninguna devolución de llamada para la conexión TCP, ya que se crearía un nuevo Weave Exchange y las devoluciones de llamada se establecerían en la parte superior de ese contexto solo disponibles en estado inactivo. no disponible en devoluciones de llamada.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
TimeSyncNode
TimeSyncNode( void )
Funciones protegidas
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
aborto interno si un código 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 devolución de llamada a la capa de aplicación.
establezca aIsSuccessful en falso para inducir la devolución de llamada de error
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContacto
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
devolver un espacio para almacenar información de contacto
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
conseguir el siguiente contacto válido e inactivo para hablar
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
obtener la cantidad de contactos que son válidos, pero aún no hemos hablado con ellos.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
Obtenga la cantidad de respuestas "confiables" recopiladas hasta el momento.
llamado para determinar si hemos recopilado suficiente número 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 un error de comunicación en un determinado contacto y acortar el período de descubrimiento automático si es necesario un contacto puede ser NULO para indicar que no tenemos a nadie con quien hablar y, por lo tanto, acortar el período de descubrimiento automático
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
enviar una solicitud de sincronización de unidifusión a un contacto.
* rIsMessageSent se configurará para indicar si el mensaje ha sido enviado. los errores de comunicación como la dirección no accesible no se devuelven, por lo que la persona que llama debe verificar tanto el código de retorno como * rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
restablezca todos los contactos completados al estado inactivo nuevamente, pero no toque la respuesta.
esto se llama entre dos rondas de comunicación al mismo nodo
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
establezca todos los contactos locales válidos en estado inactivo y borre la respuesta.
esto se llama antes de que comencemos a contactarlos 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 unidifusión
TiendaNotificandoContacto
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
almacenar la información de contacto de un nodo que nos 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 procedente de una solicitud de multidifusión
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
procesar una respuesta procedente de una solicitud de unidifusión
_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. Debe establecer mClientState antes de regresar. no disponible en devoluciones de llamada
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
inicializar para el rol de servidor.
Diseñado para ser utilizado internamente por la familia Init de funciones públicas. Debe establecer mClientState antes de regresar. no disponible en devoluciones de llamada
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
detener al cliente no disponible en devoluciones de llamada.
Detalles | |
---|---|
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
_Coordinador de apagado
WEAVE_ERROR _ShutdownCoordinator( void )
detener el coordinador no disponible en devoluciones de llamada.
Detalles | |
---|---|
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
detener el servidor no disponible en devoluciones de llamada.
Detalles | |
---|---|
Devoluciones | WEAVE_NO_ERROR en caso de éxito |
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 tiempo
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
ManejarUnicastResponseTimeout
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 arranque
IsOperationalState
bool IsOperationalState( ClientState aState )
Determine si el estado dado es operativo.
Método de conveniencia para determinar si ClientState indica el estado operativo, es decir, el cliente ha completado la inicialización y no está en proceso de cierre.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | Es verdadero si el estado cae después de que se haya completado la inicialización y antes de que comience el apagado, falso en caso contrario. |
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )