nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Resumo
Tipos públicos |
|
---|---|
ClientState{
|
enum estado atual deste cliente de sincronização de tempo |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Chamada de retorno após a conclusão das duas tentativas de sincronização. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Chamada de retorno para indicar que acabamos de receber uma Notificação de alteração de horário. |
Tipos protegidos |
|
---|---|
@324
|
enum |
Atributos públicos |
|
---|---|
OnTimeChangeNotificationReceived
|
Atributos protegidos |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
usada para armazenar o tempo de 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
usada para armazenar a hora 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
|
Recuperar o estado atual deste cliente.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Inicialize este cliente.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
Sincroniza usando a Binding determinada 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 correção de horário.
|
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 tempo
Propriedades | |
---|---|
kClientState_Idle
|
Iniciado, aguardando a Notificação de alteração de horário, mas nenhuma operação de sincronização de horário real está acontecendo. |
kClientState_Sync_1
|
Trabalhando na primeira tentativa de sincronização. |
kClientState_Sync_2
|
Trabalhando na segunda tentativa de sincronização. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Chamada de retorno após a conclusão das duas tentativas de sincronização de horário.
Se aErrorCode for WEAVE_NO_ERROR, pelo menos uma tentativa será bem-sucedida. Caso contrário, ambos apresentarão falha em aErrorCode indica a falha mais recente.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Chamada de retorno para indicar que acabamos de receber uma Notificação de alteração de horário.
Defina como NULL em Init. Se ela não for definida, a Notificação de alteração de horário será ignorada. A camada de apps tem permissão para chamar "Cancelar e sincronizar" 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
usada para armazenar o tempo de 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
usada para armazenar a hora 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. Cancela a troca ativa. Voltar ao estado inativo.
GetClientState
ClientState GetClientState( void ) const
Recuperar o estado atual deste cliente.
Detalhes | |
---|---|
Retornos |
estado atual
|
Init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Inicialize este cliente.
Precisa ser chamada antes que outras funções possam ser usadas. Zero/NULL inicializa todos os dados internos e se registra com a Notificação de alteração de horário.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
Sincronização
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Sincroniza usando a Binding determinada e faz um callback usando o ponteiro fornecido.
Se houver uma operação de sincronização de horário, ela será abortada implicitamente sem que seja feito um retorno de chamada. Não disponível no retorno de chamada OnSyncCompleted, mas permitido em OnTimeChangeNotificationReceived . Em caso de erro, Abort seria chamado implicitamente antes de retornar dessa função.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retornos |
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 correção de horário.
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 )