O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl :: Tecer:: Perfis :: Tempo:: TimeSyncNode

Resumo

Herança

Herda: nl :: Weave :: Profiles :: Tempo :: _ TimeSyncNodeBase

Construtores 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
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) typedef
void(*
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) typedef
bool(*
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 {
kServerState_UnreliableAfterBoot ,
kServerState_Idle
}
enum
estado atual deste Time Sync Server
SyncFailedHandler )(void *const aApp, const WEAVE_ERROR aErrorCode) typedef
void(*
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) typedef
bool(*
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) typedef
void(*
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)
devolver um slot para armazenar informações de contato
GetClientStateName (void) const
const char *const
GetNextIdleContact (void)
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

mActiveContact

Contact * mActiveContact

contexto de comunicação.

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
[in] aApp
Um ponteiro para os dados da camada do aplicativo, definido em Init.
[in] aContact
matriz de contatos e status de resposta
[in] aSize
número de registros na matriz aContact

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
[in] aApp
Um ponteiro para os dados da camada do aplicativo, definido em Init.
[in] aMsgInfo
A WeaveMessageInfo contendo informações sobre o pedido de sincronização de tempo recebida, incluindo informações sobre o remetente.
[in] aLikelyhood
probabilidade de resposta, conforme solicitado pelo originador
[in] aIsTimeCoordinator
verdadeiro se o nó de origem for um coordenador de sincronização de tempo
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

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 meio de algum outro meio somente significativo se aIsAlwaysFresh for verdadeiro quando o Init for chamado

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
[in] aApp
Um ponteiro para os dados da camada do aplicativo, definido em Init.
[in] aErrorCode
razão para o fracasso

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
[in] aApp
Um ponteiro para os dados da camada do aplicativo, definido em Init.
[in] aOffsetUsec
quantidade de correção em usec
[in] aIsReliable
é a correção considerada confiável pela lógica embutida
[in] aIsServer
a correção vem do (s) servidor (es)
[in] aNumContributor
número de nós que contribuíram para esta correção. 0 significa que não há resultados da operação de sincronização.
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
[in] aApp
Um ponteiro para os dados da camada do aplicativo, definido em Init.
[in] aNodeId
solicitando o ID do nó
[in] aNodeAddr
solicitando endereço de nó

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
[in] aSyncPeriod_msec
número de ms entre a sincronização
[in] aNominalDiscoveryPeriod_msec
número de ms entre a descoberta, se nenhum erro de comunicação for observado
[in] aShortestDiscoveryPeriod_msec
menor tempo entre a descoberta, em ms, se um erro de comunicação foi observado
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

GetClientState

ClientState GetClientState(
  void
) const 

getter simples para o estado do cliente

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

GetServerState

ServerState GetServerState(
  void
) const 

getter simples para o estado do servidor

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
[in] aApp
Um ponteiro para dados da camada superior, usado em retornos de chamada para a camada superior.
[in] aExchangeMgr
Um ponteiro para o objeto do Weave Exchange Manager em todo o sistema
[in] aRole
pode ser kTimeSyncRole_Client ou kTimeSyncRole_Coordinator
[in] aEncryptionType
tipo de criptografia a ser usado para solicitações e respostas
[in] aKeyId
ID da chave a ser usada para solicitações e respostas
[in] aInitialLikelyhood
probabilidade inicial de ser usado para o estágio de descoberta
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
[in] aExchangeMgr
Um ponteiro para o objeto do Weave Exchange Manager em todo o sistema
[in] aEncryptionType
tipo de criptografia a ser usado para solicitações e respostas
[in] aKeyId
ID da chave a ser usada para solicitações e respostas
[in] aSyncPeriod_msec
número de ms entre a sincronização
[in] aNominalDiscoveryPeriod_msec
menor tempo entre a descoberta, em ms, se nenhum erro de comunicação for observado
[in] aShortestDiscoveryPeriod_msec
menor número de ms entre a descoberta, se um erro de comunicação foi observado
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
[in] aApp
Um ponteiro para dados da camada superior, usado em retornos de chamada para a camada superior.
[in] aExchangeMgr
Um ponteiro para o objeto do Weave Exchange Manager em todo o sistema
[in] aIsAlwaysFresh
pode ser definido como verdadeiro para indicar que o servidor está sempre sincronizado, exceto para o horário inicial não confiável. deve ser definido como falso para o Coordenador.
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
[in] aEncryptionType
tipo de criptografia a ser usado para esta notificação
[in] aKeyId
ID da chave a ser usada para esta notificação

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
[in] aNumContributor
número de coordenadores contribuíram para esta sincronização de tempo

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
[in] aForceDiscoverAgain
verdadeiro se todos os contatos existentes devem ser liberados e a operação de descoberta realizada
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
[in] aNumNode
número de contato na matriz aNodes
[in] aNodes
matriz de registros de contato
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
[in] aConnection
Um ponteiro para a conexão Weave
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
)

DestroyCommContext

bool DestroyCommContext(
  void
)

fechar a tecer ExchangeContext

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
[in] aEncryptionType
tipo de criptografia a ser usado para solicitações e respostas
[in] aKeyId
ID da chave a ser usada para solicitações e respostas
[in] aInitialLikelyhood
probabilidade inicial de ser usado para o estágio de descoberta
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
[in] aIsAlwaysFresh
pode ser definido como verdadeiro para indicar que o servidor está sempre sincronizado, exceto para o horário inicial não confiável. deve ser definido como falso para o Coordenador.
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
[in] aState
estado a ser avaliado
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
)