nl :: Tecer:: Perfis :: Tempo:: TimeSyncNode
Resumo
Herança
Herda: nl :: Weave :: Profiles :: Tempo :: _ TimeSyncNodeBaseConstrutores e Destruidores | |
---|---|
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 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, pois o estado anterior não teria como manipulá-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 estado de comunicação a um determinado contato. |
ContributorFilter )(void *const aApp, Contact aContact[], const int aSize) | typedefvoid(* o retorno de chamada ocorre logo antes de calcularmos a correção de tempo das respostas. |
OnSyncRequestReceivedHandler )(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator) | typedefbool(* retorno de chamada para indicar que acabamos de receber uma solicitação de sincronização de tempo. |
ResponseStatus | enum status de resposta armazenada para um determinado contato. |
ServerState { | enum estado atual deste Time Sync Server |
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) | typedefvoid(* o retorno de chamada ocorre quando a sincronização é considerada 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(* o retorno de chamada 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(* retorno de chamada 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 retorna verdadeiro |
OnSyncSucceeded | se não for definido, o comportamento padrão leva todos os resultados, exceto para correções de servidor muito pequenas |
OnTimeChangeNotificationReceived | |
mEncryptionType | uint8_t método de criptografia para comunicação local |
mKeyId | uint16_t ID da chave usada para comunicação local |
Atributos protegidos | |
---|---|
mApp | void * ponteiro para dados de camada superior |
mClientState | |
mConnectionToService | Conexão TCP usada para falar com o serviço. |
mContacts [WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS] | Contactar informações aprendidas ao longo de descoberta. |
mIsAlwaysFresh | bool |
mIsInCallback | bool verdadeiro se estivermos em um retorno de chamada para a camada superior |
mLastLikelihoodSent | int8_t |
mNumContributorInLastLocalSync | uint8_t |
mRole | TimeSyncRole Função real deste nó. |
mServerState | |
mServiceContact | |
mTimestampLastCorrectionFromServerOrNtp_usec | timesync_t note que deve ser a hora da inicialização, pois precisamos de compensação para o tempo de sono |
mTimestampLastLocalSync_usec | timesync_t note que deve ser a hora da inicialização, pois precisamos de compensação para o tempo de sono |
Funções públicas | |
---|---|
Abort (void) | forçar o motor a voltar ao estado de marcha lenta, cancelando tudo o que estiver fazendo. |
DisableAutoSync (void) | void desative a sincronização automática. |
EnableAutoSync (const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec) | habilite 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 extraia 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) | inicialize 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) | inicialize este coordenador. |
InitServer (void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh) | initialize para a função de servidor deve ser chamado como a primeira função após a construção do objeto se a intenção for ser um Time Sync Server. |
MulticastTimeChangeNotification (const uint8_t aEncryptionType, const uint16_t aKeyId) const | void Chamado pela camada superior para notificação de mudança de horário de multicast. |
RegisterCorrectionFromServerOrNtp (void) | void Chamado pela camada superior para indicar que acabamos de terminar uma rodada de sincronização de tempo com qualquer servidor ou por meio de algum meio confiável como NTP. |
RegisterLocalSyncOperation (const uint8_t aNumContributor) | void Chamado pela camada superior para indicar que acabamos de terminar uma rodada de sincronização de tempo com outros coordenadores locais. |
Shutdown (void) | interrompa o serviço, independentemente da função que ele esteja desempenhando. |
Sync (const bool aForceDiscoverAgain) | sincronizar usando os contatos existentes. |
SyncWithNodes (const int16_t aNumNode, const ServingNode aNodes[]) | sincronizar usando a lista de contatos fornecida. |
SyncWithService ( WeaveConnection *const aConnection) | sincronize usando a conexão TCP fornecida e a criptografia associada e a identificação da chave. |
Funções protegidas | |
---|---|
AbortOnError (const WEAVE_ERROR aCode) | void aborto 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) | induzir o retorno de chamada para a camada de aplicativo. |
ClearState (void) | void |
DestroyCommContext (void) | bool fechar a tecer ExchangeContext |
EndLocalSyncAndTryCalculateTimeFix (void) | void |
EndServiceSyncAndTryCalculateTimeFix (void) | void |
FindReplaceableContact (const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification) | Contact * devolver um slot para armazenar informações de contato |
GetClientStateName (void) const | const char *const |
GetNextIdleContact (void) | Contact * obter o próximo contato válido e ocioso para falar |
GetNumNotYetCompletedContacts (void) | int16_t obter o número de contatos que são válidos, mas não falamos com eles ainda. |
GetNumReliableResponses (void) | int16_t obter o número de respostas "confiáveis" 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 contato para o serviço |
RegisterCommError ( Contact *const aContact) | void registrar erro de comunicação em um determinado contato e encurtar o período de descoberta automática, se necessário. Um contato pode ser NULO para indicar que não temos ninguém com quem falar e, portanto, apenas encurtar 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 ocioso novamente, mas não toque na resposta. |
SetAllValidContactsToIdleAndInvalidateResponse (void) | int16_t defina todos os contatos locais válidos para o estado ocioso e limpe 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 armazene as informações de contato de um nó que acabou de nos enviar uma notificação de mudança de horário |
UpdateMulticastSyncResponse (const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse) | void processar uma resposta que vem de uma solicitação multicast |
UpdateUnicastSyncResponse (const TimeSyncResponse & aResponse) | void processar uma resposta que vem de uma solicitação unicast |
_InitClient (const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood) | inicializar para a função de cliente. |
_InitServer (const bool aIsAlwaysFresh) | inicializar para a função de servidor. |
_ShutdownClient (void) | parar o cliente não disponível em retornos de chamada. |
_ShutdownCoordinator (void) | parar o coordenador não disponível em chamadas de retorno. |
_ShutdownServer (void) | parar o servidor não disponível em retornos de chamada. |
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 retorno de chamada do Weave Exchange quando chega uma solicitação de sincronização de tempo |
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 retorno de chamada do Weave Timer quando passamos a barreira não confiável após a inicialização |
IsOperationalState ( ClientState aState) | bool Determine se determinado estado é 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, pois o estado anterior não teria como manipulá-las.
qualquer falha deve resultar em outra transição de estado (pode ser o tempo limite) se até mesmo o cronômetro falhar, estamos fora do caminho 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
Estado do cliente
ClientState
estado atual deste cliente de sincronização de tempo
CommState
CommState
estado de comunicação a um determinado contato.
Isto é, no público porque Contactar é em público
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
o retorno de chamada ocorre logo antes de calcularmos a correção de tempo das respostas.
a camada do aplicativo pode sobrescrever aContact [i] .mResponseStatus para kResponseStatus_Invalid para que a resposta seja ignorada no cálculo
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
retorno de chamada para indicar que acabamos de receber uma solicitação de sincronização de tempo.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||
Devoluções | falso e o motor deve ignorar este pedido |
ResponseStatus
ResponseStatus
status de resposta armazenada para um determinado contato.
Isto é, no público porque Contactar é em público
ServerState
ServerState
estado atual deste Time Sync Server
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
o retorno de chamada ocorre quando a sincronização é considerada falha, incluindo a sincronização automática.
observe que o retorno de chamada não acontece se Abort 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)
o retorno de chamada ocorre depois que a sincronização é considerada bem-sucedida, incluindo a sincronização automática, mas antes que o resultado seja aplicado.
Observe que 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 sobrescrever aContact [i] .mResponseStatus para kResponseStatus_Invalid para que a resposta fosse ignorada no cálculo
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||
Devoluções | true se este deslocamento deve ser usado para ajustar a hora do sistema. caso aNumContributor fosse 0, o valor de retorno seria ignorado. |
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
retorno de chamada para indicar que acabamos de receber uma notificação de mudança de horário.
se o modo de sincronização automática estiver habilitado, uma sincronização de horário será agendada logo após esse retorno de chamada automaticamente. caso contrário, a camada de aplicativo pode escolher 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 não disponível na chamada de retorno. entretanto, deve-se observar que esse retorno de chamada especial ainda está no topo da pilha de retorno 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 retorna verdadeiro
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
se não for definido, o comportamento padrão leva todos os resultados, exceto para correções de servidor muito pequenas
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
método de criptografia para comunicação local
mKeyId
uint16_t mKeyId
ID da chave usada 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 falar com o serviço.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Contactar informações aprendidas ao longo de descoberta.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
verdadeiro se estivermos em um retorno de chamada para a camada superior
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Função real deste nó.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
note que deve ser a hora da inicialização, pois precisamos de compensação para o tempo de sono
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
note que deve ser a hora da inicialização, pois precisamos de compensação para o tempo de sono
Funções públicas
Abortar
WEAVE_ERROR Abort( void )
forçar o motor a voltar ao estado de marcha lenta, cancelando tudo o que estiver fazendo.
observe que nenhum sucesso ou falha de sincronização seria chamado. todas as trocas de Weave seriam fechadas. As conexões TCP não seriam mais tocadas. nenhuma operação se já estivermos no estado ocioso. não disponível em chamadas de retorno.
Detalhes | |
---|---|
Devoluções | WEAVE_NO_ERROR em sucesso |
DisableAutoSync
void DisableAutoSync( void )
desative a sincronização automática.
disponível apenas no estado inativo. não disponível em chamadas de retorno.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
habilite a sincronização automática.
disponível apenas no estado inativo. a descoberta acontece imediatamente. não disponível em chamadas de retorno.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Devoluções | WEAVE_NO_ERROR em sucesso |
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
extraia a probabilidade de persistente.
o resultado só seria válido após a operação de sincronização ser concluída, nos retornos de chamada de OnSyncSucceeded e OnSyncFailed. caso contrário, é temporário e pode ser a Probabilidade atual, e não a próxima a ser usada.
Detalhes | |
---|---|
Devoluções | probabilidade de resposta a 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 )
inicialize este cliente.
não disponível em callbacks
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||||
Devoluções | WEAVE_NO_ERROR em 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 )
inicialize este coordenador.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||||
Devoluções | WEAVE_NO_ERROR em sucesso |
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
initialize para a função de servidor deve ser chamado como a primeira função após a construção do objeto se a intenção for ser um Time Sync Server.
não disponível em callbacks
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Devoluções | WEAVE_NO_ERROR em sucesso |
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Chamado pela camada superior para notificação de mudança de horário de multicast.
não disponível em chamadas de retorno.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Chamado pela camada superior para indicar que acabamos de terminar uma rodada de sincronização de tempo com qualquer servidor ou por meio de algum meio confiável como NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Chamado pela camada superior para indicar que acabamos de terminar uma rodada de sincronização de tempo com outros coordenadores locais.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Desligar
WEAVE_ERROR Shutdown( void )
interrompa o serviço, independentemente da função que ele esteja desempenhando.
Esta função deve ser chamada para recuperar apropriadamente os recursos alocados, antes que outra chamada para qualquer uma das funções init possa ser feita. não disponível em chamadas de retorno.
Detalhes | |
---|---|
Devoluções | WEAVE_NO_ERROR em sucesso |
Sincronizar
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 true para forçar a descoberta imediatamente. disponível apenas no estado inativo. não disponível em chamadas de retorno.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | WEAVE_NO_ERROR em sucesso |
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
sincronizar usando a lista de contatos fornecida.
lista de contatos existente seria esvaziada. disponível apenas no estado inativo. não disponível em chamadas de retorno.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
| ||||
Devoluções | WEAVE_NO_ERROR em sucesso |
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
sincronize usando a conexão TCP fornecida e a criptografia associada e a identificação da chave.
o chamador deve assumir a propriedade da conexão TCP após o término da sincronização. nenhum retorno de chamada seria sobrescrito para a conexão TCP, uma vez que um novo Weave Exchange seria criado e retornos de chamada definidos sobre esse contexto disponíveis apenas no estado inativo. não disponível em chamadas de retorno.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | WEAVE_NO_ERROR em sucesso |
TimeSyncNode
TimeSyncNode( void )
Funções protegidas
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
aborto 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 )
induzir o retorno de chamada para a camada de aplicativo.
defina aIsSuccessful como false para induzir o retorno de chamada de erro
ClearState
void ClearState( void )
EndLocalSyncAndExperimenteCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
devolver um slot para armazenar informações de contato
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
obter o próximo contato válido e ocioso para falar
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
obter o número de contatos que são válidos, mas não falamos com eles ainda.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
obter o número de respostas "confiáveis" coletadas até o momento.
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 )
invalidar contato para o serviço
RegisterCommError
void RegisterCommError( Contact *const aContact )
registrar erro de comunicação em um determinado contato e encurtar o período de descoberta automática, se necessário. Um contato pode ser NULO para indicar que não temos ninguém com quem falar e, portanto, apenas encurtar 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á definido para indicar se a mensagem foi enviada. erros de comunicação, como endereço não acessível, não são retornados, então o chamador deve verificar o código de retorno e * rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
redefina todos os contatos concluídos para o estado ocioso novamente, mas não toque na resposta.
isso é chamado entre duas rodadas de comunicação para o mesmo nó
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
defina todos os contatos locais válidos para o estado ocioso e limpe a resposta.
isso é 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 um novo Weave Exchange para comunicação unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
armazene as informações de contato de um nó que acabou de nos enviar uma notificação de mudança de horário
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
processar uma resposta que vem de uma solicitação multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
processar uma resposta que vem de uma solicitação unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inicializar 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 de retornar. não disponível em callbacks
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||
Devoluções | WEAVE_NO_ERROR em sucesso |
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
inicializar para a função de servidor.
Destina-se a ser usado internamente pela família Init de funções públicas. Deve definir mClientState antes de retornar. não disponível em callbacks
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | WEAVE_NO_ERROR em sucesso |
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
parar o cliente não disponível em retornos de chamada.
Detalhes | |
---|---|
Devoluções | WEAVE_NO_ERROR em sucesso |
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
parar o coordenador não disponível em chamadas de retorno.
Detalhes | |
---|---|
Devoluções | WEAVE_NO_ERROR em sucesso |
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
parar o servidor não disponível em retornos de chamada.
Detalhes | |
---|---|
Devoluções | WEAVE_NO_ERROR em 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 )
retorno de chamada do Weave Exchange quando chega uma solicitação de sincronização de tempo
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 )
retorno de chamada do Weave Timer quando passamos a barreira não confiável após a inicialização
IsOperationalState
bool IsOperationalState( ClientState aState )
Determine se determinado estado é operacional.
Método de conveniência para determinar se o ClientState denota estado operacional, ou seja, o cliente concluiu a inicialização e não está em processo de desligamento.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | verdadeiro se o estado cair após a conclusão da inicialização e antes 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 )