nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Resumo
Tipos públicos |
|
---|---|
ClientState{
|
enum estado atual deste cliente de sincronização de horário |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Callback depois que as duas tentativas de sincronização de horário forem concluídas. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Callback para indicar que acabamos de receber uma notificação de mudança de horário. |
Tipos protegidos |
|
---|---|
@324
|
enum |
Atributos públicos |
|
---|---|
OnTimeChangeNotificationReceived
|
Atributos protegidos |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
usado para armazenar o horário de um voo só de ida.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
usado para armazenar Carimbo de data/hora quando um resultado é registrado
|
mRemoteTimestamp_usec
|
timesync_t
usado para armazenar o horário do sistema do nó remoto, quando a mensagem de resposta estava prestes a ser enviada
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Funções públicas |
|
---|---|
Abort(void)
|
void
Cancelar operação de sincronização do horário atual.
|
GetClientState(void) const
|
Recupere o estado atual desse cliente.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Inicialize este cliente.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
Sincroniza usando a Binding especificada e faz um callback usando o ponteiro fornecido.
|
Funções protegidas |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
Invalidar as informações registradas para a correção de horas.
|
IsRegisteredResultValid(void)
|
bool
Verifique se as informações registradas para a correção de horário são válidas.
|
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
|
Funções 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 atual deste cliente de sincronização de horário
Propriedades | |
---|---|
kClientState_Idle
|
Inicializado, aguardando a notificação de mudança de horário, mas nenhuma operação de sincronização de horário real está acontecendo. |
kClientState_Sync_1
|
Estamos trabalhando na primeira tentativa de sincronização. |
kClientState_Sync_2
|
Estamos trabalhando na segunda tentativa de sincronização. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Callback depois que as duas tentativas de sincronização de horário forem concluídas.
Se aErrorCode for WEAVE_NO_ERROR, pelo menos uma tentativa foi bem-sucedida. Caso contrário, as duas falhas em aErrorCode indicarão a falha mais recente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Callback para indicar que acabamos de receber uma notificação de mudança de horário.
Defina como NULL em Init. Se não for definido, a notificação de mudança de horário será ignorada. A camada do app tem permissão para chamar o cancelamento e a sincronização nesse callback.
Detalhes | |||||
---|---|---|---|---|---|
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
usado para armazenar o horário de um voo só de ida.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
usado para armazenar Carimbo de data/hora quando um resultado é registrado
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
usado para armazenar o horário do sistema do nó remoto, quando a mensagem de resposta estava prestes a ser enviada
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Funções públicas
Cancelar
void Abort( void )
Cancelar operação de sincronização do horário atual.
Vinculação da versão. Cancelar troca ativa. Volta para o estado inativo.
GetClientState
ClientState GetClientState( void ) const
Recupere o estado atual desse cliente.
Detalhes | |
---|---|
Retorna |
estado atual
|
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Inicialize este cliente.
Precisa ser chamado antes que outras funções possam ser usadas. Zero/NULL inicializa todos os dados internos e se registram com a Notificação de mudança de horário.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
Sincronização
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Sincroniza usando a Binding especificada e faz um callback usando o ponteiro fornecido.
Se houver uma operação de sincronização de horário em andamento, ela será cancelada implicitamente sem a realização do callback. Não disponível no callback OnSyncConcluído, mas permitido em OnTimeChangeNotificationReceived . Em caso de erro, Abort seria chamado implicitamente antes de retornar dessa função.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_NO_ERROR em caso de sucesso
|
Funções protegidas
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Invalidar as informações registradas para a correção de horas.
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Verifique se as informações registradas para a correção de horário são válidas.
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 )
Funções 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 )