nl:: Weave:: Profiles:: Time:: TimeSyncNode
Resumo
Herança
Herda de: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Construtores e destruidores |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
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 de 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 processá-las.
|
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 tempo |
CommState
|
enum status de comunicação com um determinado contato. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
de retorno ocorre logo antes de calcularmos a correção de horário das respostas. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
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 tempo |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
ocorre quando a sincronização é considerada com 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, inclusive a sincronização automática, mas antes que o resultado seja aplicado. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
para indicar que acabamos de receber uma notificação de alteração de horário. |
Atributos públicos |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
Se não for definido, a implementação padrão sempre retornará verdadeiro
|
OnSyncSucceeded
|
se ela não for definida, o comportamento padrão será usar todos os resultados, exceto as pequenas correções 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 *
apontar 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 na descoberta.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
verdadeiro se estivermos em um callback para uma camada superior
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Papel real deste nó.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
use o tempo de inicialização, porque precisamos de compensação pelo tempo de sono
|
mTimestampLastLocalSync_usec
|
timesync_t
use o tempo de inicialização, porque precisamos de compensação pelo tempo de sono
|
Funções públicas |
|
---|---|
Abort(void)
|
forçam o motor a voltar ao estado inativo, cancelando tudo o que ele está 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 esse mecanismo está configurado para armazenar
|
GetClientState(void) const
|
getter simples para o estado do cliente
|
GetNextLikelihood(void) const
|
int8_t
para extrair a probabilidade de discos permanentes.
|
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)
|
inicializar para o papel de Servidor precisa ser chamado como a primeira função após a construção do objeto se a intenção for ser um Servidor de sincronização de tempo.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Chamado pela camada superior para notificação de alteração no horário multicast.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Chamado por uma camada superior para indicar que acabamos de concluir uma sincronização circular com qualquer servidor ou por algum meio confiável, como o NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Chamado pela camada superior para indicar que acabamos de concluir uma rodada de sincronização com outros coordenadores locais.
|
Shutdown(void)
|
interromper o serviço, independentemente da função que ele desempenha.
|
Sync(const bool aForceDiscoverAgain)
|
sincronizar usando contatos existentes.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
sincronizar usando a lista de contatos fornecida.
|
SyncWithService(WeaveConnection *const aConnection)
|
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 callback à 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 *
retornar um slot para armazenar informações de contato
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
conseguir o próximo contato válido e inativo para conversar
|
GetNumNotYetCompletedContacts(void)
|
int16_t
ver o número de contatos válidos, mas ainda não conversamos com eles.
|
GetNumReliableResponses(void)
|
int16_t
e descobrir o número de "confiáveis" respostas coletadas até o momento.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
invalidar todos os contatos locais
|
InvalidateServiceContact(void)
|
void
invalidar 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 com quem conversar e, portanto, apenas reduzir o período de descoberta automática.
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
enviar uma solicitação de sincronização unicast a um contato.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
redefinir todos os contatos concluídos para o estado inativo novamente, mas não toque na resposta.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
Definir todos os contatos locais válidos para o estado inativo e limpar a resposta.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
criar um 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 retornada de uma solicitação multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
processar uma resposta retornada de uma solicitação unicast.
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
para a função de cliente.
|
_InitServer(const bool aIsAlwaysFresh)
|
é inicializado para o papel de Servidor.
|
_ShutdownClient(void)
|
interromper o cliente não disponível em callbacks.
|
_ShutdownCoordinator(void)
|
interromper o coordenador não disponível em callbacks.
|
_ShutdownServer(void)
|
interromper o servidor não disponível em callbacks.
|
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
de retorno de chamada do Weave Exchange quando chega uma solicitação de sincronização de horário
|
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 ultrapassamos o não confiável após a barreira de inicialização
|
IsOperationalState(ClientState aState)
|
bool
Determinar 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
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 processá-las.
qualquer falha resultará em outra transição de estado (pode ser tempo limite). Se até o timer falhar, estaremos fora do truque e poderemos 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 tempo
CommState
CommState
status de comunicação com um determinado contato.
Isto é público porque o Contato está em público
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
de retorno ocorre logo antes de calcularmos a correção de horário das respostas.
camada do 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)
para indicar que acabamos de receber uma solicitação de sincronização de horário.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Retornos |
"false", e o mecanismo vai ignorar essa solicitação
|
ResponseStatus
ResponseStatus
status da resposta armazenada para um determinado contato.
Isto é público porque o Contato está em público
ServerState
ServerState
estado atual deste servidor de sincronização de tempo
Propriedades | |
---|---|
kServerState_Idle
|
o servidor está pronto para responder às solicitações com configurações normais |
kServerState_UnreliableAfterBoot
|
tempo reservado para o servidor sincronizar a hora do sistema por algum outro meio somente significativo se aIsSempreFresh for verdadeiro quando Init for chamado |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
ocorre quando a sincronização é considerada com falha, incluindo a sincronização automática.
o retorno de chamada não acontecerá se Cancelar for chamado 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, inclusive a sincronização automática, mas antes que o resultado seja aplicado.
O sucesso não significa que temos resultados aplicáveis. Caso nenhuma resposta fosse recebida, aNumContributor seria definido como 0. A camada do aplicativo poderia substituir aContact[i].mResponseStatus por kResponseStatus_Invalid para que a resposta fosse ignorada no cálculo
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Retornos |
verdadeiro se esse ajuste deve ser usado para ajustar o horário do sistema. caso aNumContributor seja 0, o valor de retorno será ignorado.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
para indicar que acabamos de receber uma notificação de alteração de horário.
se o modo de sincronização automática estiver ativado, uma sincronização de horário será agendada logo após esse retorno de chamada automaticamente. Caso contrário, a camada do aplicativo pode optar por chamar a família de funções de sincronização para iniciar diretamente a operação de sincronização não restrita pela regra normal de retorno de chamada não disponível. No entanto, deve-se observar que esse callback especial ainda está acima da pilha de callback 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á verdadeiro
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
se ela não for definida, o comportamento padrão será usar todos os resultados, exceto as pequenas correções 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
apontar 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 na descoberta.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
verdadeiro se estivermos em um callback 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
use o tempo de inicialização, porque precisamos de compensação pelo tempo de sono
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
use o tempo de inicialização, porque precisamos de compensação pelo tempo de sono
Funções públicas
Cancelar
WEAVE_ERROR Abort( void )
forçam o mecanismo a voltar ao estado inativo, cancelando tudo o que ele está fazendo.
nenhuma falha ou sucesso na sincronização será chamado. todas as trocas do Weave serão fechadas. As conexões TCP não seriam alteradas. nenhuma operação se já estivermos no estado inativo. não disponíveis em chamadas de retorno.
Detalhes | |
---|---|
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
DisableAutoSync
void DisableAutoSync( void )
desativar a sincronização automática.
disponíveis apenas no estado inativo. não disponíveis em chamadas de retorno.
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íveis apenas no estado inativo. a descoberta acontece imediatamente. não disponíveis em chamadas de retorno.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
getter simples para o número máximo de contatos que esse mecanismo está configurado para armazenar
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
para extrair a probabilidade de discos permanentes.
o resultado só será válido após a conclusão da operação de sincronização, nos retornos de chamada de OnSyncSucceeded e OnSyncFailed. caso contrário, é transitório e pode ser a probabilidade atual em vez da próxima a ser usada.
Detalhes | |
---|---|
Retornos |
probabilidade de a resposta ser usada 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.
não disponível em callbacks
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
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 |
|
||||||||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
inicializar para o papel de Servidor precisa ser chamado como a primeira função após a construção do objeto se a intenção for ser um Servidor de sincronização de tempo.
não disponível em callbacks
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Chamado pela camada superior para notificação de alteração no horário multicast.
não disponíveis em chamadas de retorno.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Chamado por uma camada superior para indicar que acabamos de concluir uma sincronização circular com qualquer servidor ou por algum meio confiável, como o NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Chamado pela camada superior para indicar que acabamos de concluir uma rodada de sincronização com outros coordenadores locais.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Encerramento
WEAVE_ERROR Shutdown( void )
interromper o serviço, independentemente da função que ele desempenha.
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 disponíveis em chamadas de retorno.
Detalhes | |
---|---|
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
Sincronização
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
sincronizar usando contatos existentes.
a operação de sincronização pode falhar se não houver contatos válidos disponíveis. defina aForceDiscoverAgain como verdadeiro para forçar a descoberta imediatamente. disponíveis apenas no estado inativo. não disponíveis em chamadas de retorno.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
sincronizar usando a lista de contatos fornecida.
lista de contatos existente será transferida. disponíveis apenas no estado inativo. não disponíveis em chamadas de retorno.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
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 pela conexão TCP, pois um novo Weave Exchange seria criado e callbacks definidos com base nesse contexto, disponíveis apenas em estado inativo. não disponíveis em chamadas de retorno.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
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 callback à camada do aplicativo.
defina aIsSuccessful como falso 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 )
retornar um slot 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 para conversar
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
ver o número de contatos válidos, mas ainda não conversamos com eles.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
e descobrir o número de "confiáveis" respostas coletadas até o momento.
chamado 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 )
invalidar 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 com quem conversar e, portanto, apenas reduzir o período de descoberta automática.
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
enviar uma solicitação de sincronização unicast para um contato.
*rIsMessageSent será definido para indicar se a mensagem foi enviada. erros de comunicação, como endereço inacessível, não são retornados, portanto o autor da chamada deve verificar o código de retorno e o *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
redefinir todos os contatos concluídos para o estado inativo novamente, mas não toque na resposta.
isso é chamado entre duas rodadas de comunicação com o mesmo nó
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
Definir todos os contatos locais válidos para o estado inativo e limpar a resposta.
isso é chamado antes de começarmos a contatar um por um
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
criar um 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 retornada de uma solicitação multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
processar uma resposta retornada de uma solicitação unicast.
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
para a função de cliente.
Destina-se a ser usado internamente pela família Init de funções públicas. Deve definir mClientState antes do retorno. não disponível em callbacks
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
é inicializado para o papel de Servidor.
Destina-se a ser usado internamente pela família Init de funções públicas. Deve definir mClientState antes do retorno. não disponível em callbacks
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
interromper o cliente não disponível em callbacks.
Detalhes | |
---|---|
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
interromper o coordenador não disponível em callbacks.
Detalhes | |
---|---|
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
interromper o servidor não disponível em callbacks.
Detalhes | |
---|---|
Retornos |
WEAVE_NO_ERROR em caso de sucesso
|
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 )
de retorno de chamada do Weave Exchange quando chega uma solicitação de sincronização de horário
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 ultrapassamos o não confiável após a barreira de inicialização
IsOperationalState
bool IsOperationalState( ClientState aState )
Determinar se o estado fornecido está operacional.
Método de conveniência para determinar se o ClientState indica o estado operacional, ou seja, o cliente concluiu a inicialização e não está no processo de encerramento.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
||
Retornos |
verdadeiro se o estado cair após a conclusão da inicialização e antes do início do encerramento. Caso contrário, é 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 )