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(*
Es la devolución de llamada después de que se completan ambos intentos de sincronización. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
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 vuelos 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
usada 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 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)
|
Sincroniza con 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
Invalidar la información registrada para la corrección de hora
|
IsRegisteredResultValid(void)
|
bool
Verifica 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 inicializó, a la espera de la notificación de cambio de hora, pero no se está realizando ninguna operación de sincronización de hora 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)
Es la devolución de llamada después de que se completan ambos intentos de sincronización.
Si aErrorCode es WEAVE_NO_ERROR, al menos un intento tuvo éxito. De lo contrario, ambos fallaron en aErrorCode indica el último error.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
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 tiene permitido realizar llamadas a Abort and Sync 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 vuelos 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
usada 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 sincronización de la hora actual
Liberar vinculación. Anular el intercambio activo. Regresa al estado inactivo.
GetClientState
ClientState GetClientState( void ) const
Recupera el estado actual de este cliente.
Detalles | |
---|---|
Resultado que se 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 |
|
||||
Resultado que se muestra |
WEAVE_NO_ERROR según la ejecución correcta
|
Sincronizar
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Sincroniza con 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 anulará implícitamente sin que se realice la 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 llama a Anulación de manera implícita antes de regresar de esta función.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Resultado que se muestra |
WEAVE_NO_ERROR si la operación se completó correctamente
|
Funciones protegidas
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Invalidar la información registrada para la corrección de hora
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Verifica 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 )
_AbortWithCallback
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 )