nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Resumen
Tipos públicos |
|
---|---|
ClientState{
|
enum Estado actual de este cliente de sincronización de tiempo |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Devolución de llamada después de que se hayan completado ambos intentos de sincronización. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Es la devolución de llamada para indicar que acabamos de recibir una notificación de cambio de hora. |
Tipos protegidos |
|
---|---|
@324
|
enum |
Atributos públicos |
|
---|---|
OnTimeChangeNotificationReceived
|
Atributos protegidos |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
que se usa para almacenar el tiempo de vuelo de ida solo.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
Se usa para almacenar la marca de tiempo cuando se registra un resultado.
|
mRemoteTimestamp_usec
|
timesync_t
se utiliza para almacenar la hora del sistema del nodo remoto, cuando el mensaje de respuesta estaba a punto de enviarse
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Funciones públicas |
|
---|---|
Abort(void)
|
void
Anular la operación de sincronización de la hora actual
|
GetClientState(void) const
|
Recupera el estado actual de este cliente.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Inicializa este cliente.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
La sincronización usa la Binding determinada y realiza una devolución de llamada con el puntero proporcionado.
|
Funciones protegidas |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
Invalida la información registrada para la corrección de hora.
|
IsRegisteredResultValid(void)
|
bool
Comprueba si la información registrada para la corrección de hora es válida.
|
OnResponseTimeout(void)
|
void
|
OnSyncResponse(uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
ProceedToNextState(void)
|
void
|
RegisterSyncResultIfNewOrBetter(const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
|
void
|
SendSyncRequest(void)
|
|
SetClientState(const ClientState state)
|
void
|
_AbortWithCallback(const WEAVE_ERROR aErrorCode)
|
void
|
Funciones estáticas protegidas |
|
---|---|
HandleResponseTimeout(ExchangeContext *aEC)
|
void
|
HandleSyncResponse(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
HandleTimeChangeNotification(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
Tipos públicos
ClientState
ClientState
Estado actual de este cliente de sincronización de tiempo
Propiedades | |
---|---|
kClientState_Idle
|
Se inicializa, a la espera de la notificación de cambio de hora, pero no se produce ninguna operación de sincronización de tiempo real. |
kClientState_Sync_1
|
Se está trabajando en el primer intento de sincronización. |
kClientState_Sync_2
|
Se está trabajando en el segundo intento de sincronización. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Devolución de llamada después de que se hayan completado ambos intentos de sincronización.
Si aErrorCode es WEAVE_NO_ERROR, se realizó al menos un intento correctamente. De lo contrario, ambos fallidos en aErrorCode indican el último error.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Es la devolución de llamada para indicar que acabamos de recibir una notificación de cambio de hora.
Configúralo como NULL en Init. Si no la estableces, se ignorará la notificación de cambio de hora. La capa de la app puede llamar a Anulación y sincronización en esta devolución de llamada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Tipos protegidos
@324
@324
Atributos públicos
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
Atributos protegidos
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
que se usa para almacenar el tiempo de vuelo de ida solo.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
Se usa para almacenar la marca de tiempo cuando se registra un resultado.
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
se utiliza para almacenar la hora del sistema del nodo remoto, cuando el mensaje de respuesta estaba a punto de enviarse
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Funciones públicas
Anular
void Abort( void )
Anular la operación de sincronización de la hora actual
Vinculación de lanzamiento. Anular el intercambio activo Regresa al estado inactivo.
GetClientState
ClientState GetClientState( void ) const
Recupera el estado actual de este cliente.
Detalles | |
---|---|
Qué muestra |
estado actual
|
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Inicializa este cliente.
Se debe llamar antes de que se puedan usar otras funciones. Cero/NULL inicializan todos los datos internos y se registran con la notificación de cambio de hora.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
WEAVE_NO_ERROR si la operación fue exitosa
|
Sincronizar
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
La sincronización usa la Binding determinada y realiza una devolución de llamada con el puntero proporcionado.
Si hay una operación de sincronización de tiempo en curso, se abortará de forma implícita sin que se realice una devolución de llamada. No está disponible en la devolución de llamada OnSyncCompleted, pero se permite en OnTimeChangeNotificationReceived . Si se produce un error, se llamará a Abort de forma implícita antes de regresar de esta función.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
WEAVE_NO_ERROR cuando se completa de forma correcta
|
Funciones protegidas
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Invalida la información registrada para la corrección de hora.
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Comprueba si la información registrada para la corrección de hora es válida.
OnResponseTimeout
void OnResponseTimeout( void )
OnSyncResponse
void OnSyncResponse( uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
ProceedToNextState
void ProceedToNextState( void )
RegisterSyncResultIfNewOrBetter
void RegisterSyncResultIfNewOrBetter( const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec )
SendSyncRequest
WEAVE_ERROR SendSyncRequest( void )
SetClientState
void SetClientState( const ClientState state )
_Anular con devolución de llamada
void _AbortWithCallback( const WEAVE_ERROR aErrorCode )
Funciones estáticas protegidas
HandleResponseTimeout
void HandleResponseTimeout( ExchangeContext *aEC )
HandleSyncResponse
void HandleSyncResponse( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )