nl:: Weave:: Profiles:: Time:: TimeSyncNode
Resumo
Herança
Herda de: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Construtores e destrutores |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
estados usados para o recurso de sincronização automática.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
contexto da comunicação.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
Essas funções de transição de estado são internas e não podem retornar o código de erro, porque o estado anterior não teria como lidar com elas.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Tipos públicos |
|
---|---|
ClientState
|
enum estado atual deste cliente de sincronização de horário |
CommState
|
enum o status da comunicação com um determinado contato. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
callback acontece logo antes de calcularmos a correção de horário a partir das respostas. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
callback para indicar que acabamos de receber uma solicitação de sincronização de horário. |
ResponseStatus
|
enum status da resposta armazenada para um determinado contato. |
ServerState{
|
enum estado atual deste servidor de sincronização de horário |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
ocorre quando a sincronização é considerada uma falha, incluindo a sincronização automática. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
ocorre depois que a sincronização é considerada bem-sucedida, incluindo a sincronização automática, mas antes que o resultado seja aplicado. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
callback para indicar que acabamos de receber uma notificação de mudança de horário. |
Atributos públicos |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
se não for definido, a implementação padrão sempre retornará "true"
|
OnSyncSucceeded
|
se não for definido, o comportamento padrão receberá todos os resultados, exceto correções muito pequenas do servidor
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
método de criptografia para comunicação local
|
mKeyId
|
uint16_t
ID da chave usado para comunicação local
|
Atributos protegidos |
|
---|---|
mApp
|
void *
ponteiro para dados de camada superior
|
mClientState
|
|
mConnectionToService
|
Conexão TCP usada para se comunicar com o serviço.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Informações de contato aprendidas durante a descoberta.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
verdadeiro se estivermos em uma chamada de retorno para uma camada superior
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Papel real deste nó.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
É necessário que seja o tempo de inicialização, porque precisamos de compensação pelo tempo de suspensão.
|
mTimestampLastLocalSync_usec
|
timesync_t
É necessário que seja o tempo de inicialização, porque precisamos de compensação pelo tempo de suspensão.
|
Funções públicas |
|
---|---|
Abort(void)
|
força o motor a voltar ao estado inativo, cancelando tudo o que estiver fazendo.
|
DisableAutoSync(void)
|
void
desativar a sincronização automática.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
ativar a sincronização automática.
|
GetCapacityOfContactList(void) const
|
int
getter simples para o número máximo de contatos que este mecanismo está configurado para armazenar
|
GetClientState(void) const
|
getter simples para o estado do cliente
|
GetNextLikelihood(void) const
|
int8_t
extrair a probabilidade de persistente.
|
GetServerState(void) const
|
getter simples para o estado do servidor
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
inicializar 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)
|
inicializar este coordenador.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
inicializado para o papel de servidor deve ser chamado como a primeira função após a construção do objeto se a intenção for um servidor de sincronização de horário.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Chamado pela camada superior para a notificação de mudança de horário do multicast.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Chamado por uma camada superior para indicar que acabamos de concluir uma rodada de sincronização com qualquer servidor ou por meios confiáveis como NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Chamado por uma camada superior para indicar que acabamos de terminar uma rodada de sincronização com outros coordenadores locais.
|
Shutdown(void)
|
interromper o serviço, não importa qual papel ele esteja desempenhando.
|
Sync(const bool aForceDiscoverAgain)
|
sincronizar usando os contatos que já existem.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
sincronizar usando a lista de contatos fornecida.
|
SyncWithService(WeaveConnection *const aConnection)
|
sincronizar usando a conexão TCP fornecida, a criptografia e o ID da chave associados.
|
Funções protegidas |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
Cancelamento interno se aCode não for WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
função interna para iniciar uma sessão de sincronização 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)
|
induzem o retorno de chamada à camada do aplicativo.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
fechar o ExchangeContext do Weave
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
devolver um horário para armazenar informações de contato
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
conseguir o próximo contato válido e inativo com quem falar
|
GetNumNotYetCompletedContacts(void)
|
int16_t
obter o número de contatos válidos, mas ainda não conversamos com eles.
|
GetNumReliableResponses(void)
|
int16_t
obter o número de respostas 'confiáveis' coletadas até agora.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
invalidar todos os contatos locais
|
InvalidateServiceContact(void)
|
void
invalida o contato para o serviço
|
RegisterCommError(Contact *const aContact)
|
void
registrar erros de comunicação em um determinado contato e reduzir o período de descoberta automática, se necessário, o aContact pode ser NULL para indicar que não temos ninguém com quem conversar e, portanto, diminuir o período de descoberta automática.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
enviar solicitação de sincronização unicast para um contato.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
redefina todos os contatos concluídos para o estado inativo novamente, mas sem tocar na resposta.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
Define todos os contatos locais válidos para o estado inativo e limpe a resposta.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
criar novo Weave Exchange para comunicação unicast
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
armazenar as informações de contato de um nó que acabou de nos enviar uma notificação de alteração de horário
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
processar uma resposta de uma solicitação multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
processar uma resposta de uma solicitação unicast
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
inicializar para o papel do cliente.
|
_InitServer(const bool aIsAlwaysFresh)
|
inicializar para o papel de servidor.
|
_ShutdownClient(void)
|
parar o cliente não disponível em chamadas de retorno.
|
_ShutdownCoordinator(void)
|
interrompe o coordenador que não está disponível em chamadas de retorno.
|
_ShutdownServer(void)
|
parar o servidor não disponível em chamadas de retorno.
|
Funções 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
callback do Weave Exchange quando uma solicitação de sincronização de horário chega
|
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
callback do Weave Timer quando passamos o não confiável após a barreira de inicialização
|
IsOperationalState(ClientState aState)
|
bool
Determine se o estado fornecido está operacional.
|
_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 usados para o recurso de sincronização 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 )
Essas funções de transição de estado são internas e não podem retornar o código de erro, porque o estado anterior não teria como lidar com elas.
qualquer falha resultará em outra transição de estado (pode ser o tempo limite). Se até mesmo o timer falhar, estamos sem truque e podemos travar em algum estado errado
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
ClientState
ClientState
estado atual deste cliente de sincronização de horário
CommState
CommState
o status da comunicação com um determinado contato.
Isto é público porque Contato está em público
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
callback acontece logo antes de calcularmos a correção de horário a partir das respostas.
camada de aplicativo poderia substituir aContact[i].mResponseStatus por kResponseStatus_Invalid para que a resposta fosse ignorada no cálculo
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
callback para indicar que acabamos de receber uma solicitação de sincronização de horário.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retorna |
"false", e o mecanismo ignora essa solicitação.
|
ResponseStatus
ResponseStatus
status da resposta armazenada para um determinado contato.
Isto é público porque Contato está em público
ServerState
ServerState
estado atual deste servidor de sincronização de horário
Propriedades | |
---|---|
kServerState_Idle
|
o servidor está pronto para responder às solicitações com configurações normais; |
kServerState_UnreliableAfterBoot
|
tempo reservado para que o servidor sincronize o horário do sistema por algum outro meio só é significativo se aIsAlwaysFresh for verdadeiro quando Init for chamado |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
ocorre quando a sincronização é considerada uma falha, incluindo a sincronização automática.
Observe que o retorno de chamada não ocorre se a opção "Cancelar" for chamada para interromper a sincronização
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
ocorre depois que a sincronização é considerada bem-sucedida, incluindo a sincronização automática, mas antes que o resultado seja aplicado.
A conclusão não significa que temos resultados aplicáveis. Se nenhuma resposta fosse recebida, o aNumContributor seria definido como 0. A camada do aplicativo poderia substituir umContact[i].mResponseStatus por kResponseStatus_Invalid para que essa resposta fosse ignorada no cálculo.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Retorna |
true se esse deslocamento deve ser usado para ajustar o horário do sistema. Caso aNumContributor seja 0, o valor de retorno é ignorado.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
callback para indicar que acabamos de receber uma notificação de mudança de horário.
se o modo de sincronização automática estiver ativado, uma sincronização de tempo será agendada logo após esse retorno de chamada automaticamente. Caso contrário, a camada do aplicativo poderá optar por chamar a família de sincronização de funções para iniciar diretamente a operação de sincronização não restrita pela regra normal de não disponível no retorno de chamada. No entanto, é preciso observar que esse retorno de chamada especial ainda está na parte superior da pilha de retornos de chamada da camada de troca do Weave.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
Atributos públicos
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
se não for definido, a implementação padrão sempre retornará "true"
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
se não for definido, o comportamento padrão receberá todos os resultados, exceto correções muito pequenas do servidor
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
método de criptografia para comunicação local
mKeyId
uint16_t mKeyId
ID da chave usado para comunicação local
Atributos protegidos
mApp
void * mApp
ponteiro para dados de camada superior
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Conexão TCP usada para se comunicar com o serviço.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Informações de contato aprendidas durante a descoberta.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
verdadeiro se estivermos em uma chamada de retorno para uma camada superior
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Papel real deste nó.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
É necessário que seja o tempo de inicialização, porque precisamos de compensação pelo tempo de suspensão.
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
É necessário que seja o tempo de inicialização, porque precisamos de compensação pelo tempo de suspensão.
Funções públicas
Cancelar
WEAVE_ERROR Abort( void )
força o motor a voltar ao estado inativo, cancelando tudo o que estiver fazendo.
note que nenhum sucesso ou falha de sincronização será chamado. Todas as trocas do Weave serão fechadas. As conexões TCP não são afetadas. Nenhuma operação é necessária se já estivermos no estado inativo. Não está disponível em chamadas de retorno.
Detalhes | |
---|---|
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
DisableAutoSync
void DisableAutoSync( void )
desativar a sincronização automática.
Disponível apenas em estado inativo. Não disponível em callbacks.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
ativar a sincronização automática.
Disponível apenas em estado inativo. A descoberta ocorre imediatamente. Não está disponível em callbacks.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
getter simples para o número máximo de contatos que este mecanismo está configurado para armazenar
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
extrair a probabilidade de persistente.
o resultado só seria válido após a conclusão da operação de sincronização, dentro de callbacks de OnSyncSucceeded e OnSyncFailed. Caso contrário, ele é temporário e pode ser a probabilidade atual em vez da próxima a ser usada.
Detalhes | |
---|---|
Retorna |
probabilidade de uso da resposta na próxima solicitação
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inicializar este cliente.
indisponível em callbacks
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
InitCoordinator
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 )
inicializar este coordenador.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
inicializado para o papel de servidor deve ser chamado como a primeira função após a construção do objeto se a intenção for um servidor de sincronização de horário.
indisponível em callbacks
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Chamado pela camada superior para a notificação de mudança de horário do multicast.
não está disponível em callbacks.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Chamado por uma camada superior para indicar que acabamos de concluir uma rodada de sincronização com qualquer servidor ou por meios confiáveis como NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Chamado por uma camada superior para indicar que acabamos de terminar uma rodada de sincronização com outros coordenadores locais.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Desligamento
WEAVE_ERROR Shutdown( void )
interromper o serviço, não importa qual papel ele esteja desempenhando.
Essa função deve ser chamada para recuperar adequadamente os recursos alocados antes que outra chamada para qualquer uma das funções init possa ser feita. Não está disponível em retornos de chamada.
Detalhes | |
---|---|
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
Sincronização
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
sincronizar usando os contatos que já existem.
a operação de sincronização poderá falhar se não houver contatos válidos disponíveis. Defina aForceDiscoverAgain como true para forçar a descoberta imediatamente. Disponível apenas em estado inativo. não disponível em callbacks.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
sincronizar usando a lista de contatos fornecida.
lista de contatos existente seria limpa. Disponível apenas em estado inativo. Não disponível em callbacks.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
sincronizar usando a conexão TCP fornecida, a criptografia e o ID da chave associados.
O autor da chamada precisa assumir a propriedade da conexão TCP após o término da sincronização. Nenhum callback seria substituído para a conexão TCP, porque um novo Weave Exchange seria criado e os callbacks definidos sobre esse contexto só ficavam disponíveis em estado inativo. Não disponíveis em callbacks.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
TimeSyncNode
TimeSyncNode( void )
Funções protegidas
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
Cancelamento interno se aCode não for WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
função interna para iniciar uma sessão de sincronização 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 )
induzem o retorno de chamada à camada do aplicativo.
defina aIsSuccess como false para induzir o retorno de chamada de erro
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
devolver um horário para armazenar informações de contato
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
conseguir o próximo contato válido e inativo com quem falar
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
obter o número de contatos válidos, mas ainda não conversamos com eles.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
obter o número de respostas 'confiáveis' coletadas até agora.
chamados para determinar se coletamos um número suficiente de respostas
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
invalidar todos os contatos locais
InvalidateServiceContact
void InvalidateServiceContact( void )
invalida o contato para o serviço
RegisterCommError
void RegisterCommError( Contact *const aContact )
registrar erros de comunicação em um determinado contato e reduzir o período de descoberta automática, se necessário, o aContact pode ser NULL para indicar que não temos ninguém com quem conversar e, portanto, diminuir o período de descoberta automática.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
enviar solicitação de sincronização unicast para um contato.
*rIsMessageSent será configurado para indicar se a mensagem foi enviada. Erros de comunicação, como endereço inacessível, não são retornados. Por isso, o autor da chamada deve verificar o código de retorno e o código *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
redefina todos os contatos concluídos para o estado inativo novamente, mas sem tocar na resposta.
Isso é chamado entre duas rodadas de comunicação com o mesmo nó
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
Define todos os contatos locais válidos para o estado inativo e limpe a resposta.
chamado antes de começarmos a contatá-los um por um.
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
criar novo Weave Exchange para comunicação unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
armazenar as informações de contato de um nó que acabou de nos enviar uma notificação de alteração de horário
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
processar uma resposta de uma solicitação multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
processar uma resposta de uma solicitação unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inicializar para o papel do cliente.
Destina-se a ser usado internamente pela família Init de funções públicas. É necessário definir mClientState antes do retorno. Não disponível em callbacks
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
inicializar para o papel de servidor.
Destina-se a ser usado internamente pela família Init de funções públicas. É necessário definir mClientState antes do retorno. Não disponível em callbacks
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
parar o cliente não disponível em chamadas de retorno.
Detalhes | |
---|---|
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
_Coordenador de desligamento
WEAVE_ERROR _ShutdownCoordinator( void )
interrompe o coordenador que não está disponível em chamadas de retorno.
Detalhes | |
---|---|
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
_Servidor de encerramento
WEAVE_ERROR _ShutdownServer( void )
parar o servidor não disponível em chamadas de retorno.
Detalhes | |
---|---|
Retorna |
WEAVE_NO_ERROR caso tenha êxito
|
Funções 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 )
callback do Weave Exchange quando uma solicitação de sincronização de horário chega
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleUnicastResponseTimeout
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 )
callback do Weave Timer quando passamos o não confiável após a barreira de inicialização
IsOperationalState
bool IsOperationalState( ClientState aState )
Determine se o estado fornecido está operacional.
Método de conveniência para determinar se o ClientState indica um estado operacional, ou seja, o cliente concluiu a inicialização e não está no processo de encerramento.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retorna |
verdadeiro se o estado cair após a conclusão da inicialização e antes do início do encerramento; caso contrário, será falso.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )