nl:: Weave:: Profiles:: Time:: TimeSyncNode
Riepilogo
Eredità
Eredita da: nl::Weave::Profiles::Time::_TimeSyncNodeBase
Costruttori e distruttori |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
stati utilizzati per la funzione di sincronizzazione automatica.
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
contesto della comunicazione.
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
queste funzioni di transizione di stato sono interne e non possono restituire codice di errore perché lo stato precedente non avrebbe modo di gestirle.
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
Tipi pubblici |
|
---|---|
ClientState
|
enum stato attuale di questo client di sincronizzazione dell'ora |
CommState
|
enum stato della comunicazione a un determinato contatto. |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
avviene subito prima di calcolare la correzione temporale dalle risposte. |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
per indicare che abbiamo appena ricevuto una richiesta di sincronizzazione dell'ora. |
ResponseStatus
|
enum stato della risposta memorizzata per un determinato contatto. |
ServerState{
|
enum stato attuale di questo server di sincronizzazione dell'ora |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
si verifica quando la sincronizzazione viene considerata non riuscita, inclusa la sincronizzazione automatica. |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
il callback viene eseguito dopo che la sincronizzazione è considerata riuscita, inclusa la sincronizzazione automatica, ma prima dell'applicazione del risultato. |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
per indicare che abbiamo appena ricevuto una notifica di cambio di orario. |
Attributi pubblici |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
Se non impostato, l'implementazione predefinita restituisce sempre true
|
OnSyncSucceeded
|
Se il criterio non viene configurato, il comportamento predefinito riceve tutti i risultati, ad eccezione delle correzioni del server molto piccole
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
metodo di crittografia per le comunicazioni locali
|
mKeyId
|
uint16_t
ID chiave utilizzato per la comunicazione locale
|
Attributi protetti |
|
---|---|
mApp
|
void *
puntatore ai dati del livello superiore
|
mClientState
|
|
mConnectionToService
|
Connessione TCP utilizzata per comunicare con il servizio.
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
Informazioni di contatto apprese durante il rilevamento.
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
true se stiamo richiamando al livello superiore
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
Ruolo effettivo di questo nodo.
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
Tieni presente che deve essere il tempo di avvio perché abbiamo bisogno di un compenso per il tempo di sonno
|
mTimestampLastLocalSync_usec
|
timesync_t
Tieni presente che deve essere il tempo di avvio perché abbiamo bisogno di un compenso per il tempo di sonno
|
Funzioni pubbliche |
|
---|---|
Abort(void)
|
costringe il motore a tornare allo stato di inattività, interrompendo qualsiasi attività.
|
DisableAutoSync(void)
|
void
disattiva la sincronizzazione automatica.
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
attivare la sincronizzazione automatica.
|
GetCapacityOfContactList(void) const
|
int
getter semplice per il numero massimo di contatti configurati da questo motore
|
GetClientState(void) const
|
getter semplice per lo stato del client
|
GetNextLikelihood(void) const
|
int8_t
per estrarre la probabilità
di eventi persistenti.
|
GetServerState(void) const
|
getter semplice per lo stato del server
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
inizializza questo client.
|
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)
|
inizializza questo coordinatore.
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
l'inizializzazione per il ruolo Server deve essere chiamata come prima funzione dopo la creazione dell'oggetto se l'intenzione è quella di essere un server di sincronizzazione dell'ora.
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
Chiamata dal livello superiore alla notifica di modifica dell'ora multicast.
|
RegisterCorrectionFromServerOrNtp(void)
|
void
Chiamato da un livello superiore per indicare che abbiamo appena terminato una fase di sincronizzazione temporale con qualsiasi server o con mezzi affidabili come NTP.
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
Chiamato da un livello superiore per indicare che abbiamo appena terminato un periodo di sincronizzazione con altri coordinatori locali.
|
Shutdown(void)
|
interrompere il servizio, indipendentemente dal ruolo.
|
Sync(const bool aForceDiscoverAgain)
|
usare i contatti esistenti.
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
eseguire la sincronizzazione utilizzando l'elenco
di contatti fornito.
|
SyncWithService(WeaveConnection *const aConnection)
|
eseguire la sincronizzazione utilizzando la connessione TCP specificata e la crittografia e l'ID chiave associati.
|
Funzioni protette |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
interrompi interno se aCode non è WEAVE_NO_ERROR
|
AutoSyncNow(void)
|
void
funzione interna per avviare una sessione di sincronizzazione automatica
|
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)
|
indurre il callback al livello dell'applicazione.
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
chiudi ExchangeContext
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
restituire uno spazio per archiviare i dati di contatto
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
trova il successivo contatto valido e inattivo con cui parlare
|
GetNumNotYetCompletedContacts(void)
|
int16_t
recuperare il numero di contatti validi, ma non abbiamo ancora parlato con loro.
|
GetNumReliableResponses(void)
|
int16_t
per ottenere il numero di "affidabili" risposte raccolte finora.
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
invalida tutti i contatti locali
|
InvalidateServiceContact(void)
|
void
invalidare il contatto al servizio
|
RegisterCommError(Contact *const aContact)
|
void
registrare l'errore di comunicazione su un determinato contatto e abbreviare il periodo di rilevamento automatico, se necessario. aContact può essere NULL per indicare che non abbiamo nessuno con cui parlare, quindi abbreviare il periodo di rilevamento automatico
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
invia richiesta di sincronizzazione unicast a un contatto.
|
SetAllCompletedContactsToIdle(void)
|
int16_t
reimpostare tutti i contatti completati sullo stato di inattività, ma non toccare la risposta.
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
Impostare tutti i contatti locali validi sullo stato di inattività e cancellare la risposta.
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
Creare un nuovo Weave Exchange per la comunicazione unicast
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
archivia i dati di contatto di un nodo che ci ha appena inviato una notifica di modifica dell'orario
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
elaborare una risposta proveniente da una richiesta multicast
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
elaborare una risposta proveniente da una richiesta unicast
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
viene inizializzata per il ruolo Client.
|
_InitServer(const bool aIsAlwaysFresh)
|
viene inizializzata per il ruolo Server.
|
_ShutdownClient(void)
|
il client non disponibile nei callback.
|
_ShutdownCoordinator(void)
|
arresta il coordinatore non disponibile nei callback.
|
_ShutdownServer(void)
|
Arresta il server non disponibile nei callback.
|
Funzioni statiche protette |
|
---|---|
HandleAutoDiscoveryTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleAutoSyncTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleMulticastResponseTimeout(System::Layer *aSystemLayer, void *aAppState, System::Error aError)
|
void
|
HandleMulticastSyncResponse(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
HandleSyncRequest(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
callback da Weave Exchange quando arriva una richiesta di sincronizzazione dell'ora
|
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 da Weave Timer quando abbiamo superato la barriera di avvio inaffidabile
|
IsOperationalState(ClientState aState)
|
bool
Determina se un determinato stato è operativo.
|
_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
stati utilizzati per la funzione di sincronizzazione automatica.
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 )
queste funzioni di transizione di stato sono interne e non possono restituire codice di errore perché lo stato precedente non avrebbe modo di gestirle.
eventuali errori si tradurranno a un'altra transizione di stato (potrebbe essere timeout) se anche il timer non funziona, siamo fuori gioco e potremmo bloccarsi in uno stato sbagliato
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 )
Tipi pubblici
ClientState
ClientState
stato attuale di questo client di sincronizzazione dell'ora
CommState
CommState
stato della comunicazione a un determinato contatto.
Questo è un luogo pubblico perché Contact è pubblico
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
avviene subito prima di calcolare la correzione temporale dalle risposte.
il livello dell'applicazione potrebbe sovrascrivere aContact[i].mResponseStatus in kResponseStatus_invalid in modo che la risposta venga ignorata nel calcolo
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
per indicare che abbiamo appena ricevuto una richiesta di sincronizzazione dell'ora.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Restituisce |
false e il motore ignorerà questa richiesta
|
ResponseStatus
ResponseStatus
stato della risposta memorizzata per un determinato contatto.
Questo è un luogo pubblico perché Contact è pubblico
ServerState
ServerState
stato attuale di questo server di sincronizzazione dell'ora
Proprietà | |
---|---|
kServerState_Idle
|
il server è pronto a rispondere alle richieste con impostazioni normali |
kServerState_UnreliableAfterBoot
|
Tempo riservato al server per sincronizzare l'ora del sistema con altri mezzi. Significativo solo se aIs AlwaysFresh è true quando viene chiamato Init |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
si verifica quando la sincronizzazione viene considerata non riuscita, inclusa la sincronizzazione automatica.
Tieni presente che la richiamata non viene eseguita se viene chiamata l'opzione Interrompi per interrompere la sincronizzazione
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
il callback viene eseguito dopo che la sincronizzazione è considerata riuscita, inclusa la sincronizzazione automatica, ma prima dell'applicazione del risultato.
Tieni presente che l'esito positivo non significa che sono disponibili risultati applicabili. Nel caso in cui non venisse ricevuta alcuna risposta, aNumContributor verrà impostato su 0. Il livello dell'applicazione potrebbe sovrascrivere aContact[i].mResponseStatus in kResponseStatus_Failed in modo che la risposta venga ignorata nel calcolo
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||
Restituisce |
true se questo offset deve essere utilizzato per regolare l'ora di sistema. nel caso in cui aNumCollaboratore sia 0, il valore restituito verrà ignorato.
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
per indicare che abbiamo appena ricevuto una notifica di cambio di orario.
se viene attivata la modalità di sincronizzazione automatica, la sincronizzazione dell'ora verrà programmata subito dopo questo callback automatico. altrimenti il livello dell'applicazione può scegliere di chiamare la famiglia di funzioni Sync per avviare direttamente un'operazione di sincronizzazione non limitata dalla normale regola non disponibile in caso di richiamata. devi però notare che questo callback speciale è ancora in cima allo stack di callback dello strato di scambio Weave.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
Attributi pubblici
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
Se non impostato, l'implementazione predefinita restituisce sempre true
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
Se il criterio non viene configurato, il comportamento predefinito riceve tutti i risultati, ad eccezione delle correzioni del server molto piccole
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
metodo di crittografia per le comunicazioni locali
mKeyId
uint16_t mKeyId
ID chiave utilizzato per la comunicazione locale
Attributi protetti
mApp
void * mApp
puntatore ai dati del livello superiore
mClientState
ClientState mClientState
mConnectionToService
WeaveConnection * mConnectionToService
Connessione TCP utilizzata per comunicare con il servizio.
mContacts
Contact mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
Informazioni di contatto apprese durante il rilevamento.
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
true se stiamo richiamando al livello superiore
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
Ruolo effettivo di questo nodo.
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
Tieni presente che deve essere il tempo di avvio perché abbiamo bisogno di un compenso per il tempo di sonno
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
Tieni presente che deve essere il tempo di avvio perché abbiamo bisogno di un compenso per il tempo di sonno
Funzioni pubbliche
Interrompi
WEAVE_ERROR Abort( void )
costringe il motore a tornare allo stato di inattività, interrompendo qualsiasi attività.
Tieni presente che non viene richiesta nessuna sincronizzazione riuscita o non riuscita. tutte le piattaforme Weave verrebbero chiuse. le connessioni TCP non verrebbero ulteriormente toccate. nessuna operazione se siamo già in stato di inattività. non disponibile nei callback.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
DisableAutoSync
void DisableAutoSync( void )
disattiva la sincronizzazione automatica.
disponibile solo in stato di inattività. non disponibile nei callback.
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
attivare la sincronizzazione automatica.
disponibile solo in stato di inattività. la scoperta avviene immediatamente. non disponibile nei callback.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
getter semplice per il numero massimo di contatti configurati da questo motore
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
per estrarre la probabilità di eventi persistenti.
il risultato sarà valido solo al termine dell'operazione di sincronizzazione, entro i callback di OnSyncSucceeded e OnSyncFailed. altrimenti è transitorio e potrebbe essere la probabilità attuale piuttosto che quella successiva da utilizzare.
Dettagli | |
---|---|
Restituisce |
probabilità che la risposta venga utilizzata nella prossima richiesta
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
inizializza questo client.
non disponibile nei callback
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
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 )
inizializza questo coordinatore.
Dettagli | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
l'inizializzazione per il ruolo Server deve essere chiamata come prima funzione dopo la creazione dell'oggetto se l'intenzione è quella di essere un server di sincronizzazione dell'ora.
non disponibile nei callback
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
Chiamata dal livello superiore alla notifica di modifica dell'ora multicast.
non disponibile nei callback.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
Chiamato da un livello superiore per indicare che abbiamo appena terminato una fase di sincronizzazione temporale con qualsiasi server o con mezzi affidabili come NTP.
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
Chiamato da un livello superiore per indicare che abbiamo appena terminato un periodo di sincronizzazione con altri coordinatori locali.
Dettagli | |||
---|---|---|---|
Parametri |
|
Arresto
WEAVE_ERROR Shutdown( void )
interrompere il servizio, indipendentemente dal ruolo.
Questa funzione deve essere chiamata per recuperare correttamente le risorse allocate prima che possa essere effettuata un'altra chiamata a una qualsiasi funzione init. non disponibile nei callback.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
Sincronizza
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
usare i contatti esistenti.
l'operazione di sincronizzazione potrebbe non riuscire se non sono disponibili contatti validi. imposta aForceDiscoverAgain su true per forzare immediatamente il rilevamento. disponibile solo in stato di inattività. non disponibile nei callback.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
eseguire la sincronizzazione utilizzando l'elenco di contatti fornito.
viene cancellato l'elenco contatti esistente. disponibile solo in stato di inattività. non disponibile nei callback.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
eseguire la sincronizzazione utilizzando la connessione TCP specificata e la crittografia e l'ID chiave associati.
Il chiamante deve assumere la proprietà della connessione TCP al termine della sincronizzazione. nessun callback verrebbe sovrascritto per la connessione TCP, poiché verrebbe creato un nuovo Weave Exchange e i callback impostati in cima a quel contesto sono disponibili solo in stato inattivo. non disponibile nei callback.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
TimeSyncNode
TimeSyncNode( void )
Funzioni protette
AbortOnError
void AbortOnError( const WEAVE_ERROR aCode )
interrompi interno se aCode non è WEAVE_NO_ERROR
AutoSyncNow
void AutoSyncNow( void )
funzione interna per avviare una sessione di sincronizzazione automatica
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 )
indurre il callback al livello dell'applicazione.
Impostare aIsSuccessful su false per indurre il callback di errore
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
restituire uno spazio per archiviare i dati di contatto
GetClientStateName
const char *const GetClientStateName( void ) const
GetNextIdleContact
Contact * GetNextIdleContact( void )
trova il successivo contatto valido e inattivo con cui parlare
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
recuperare il numero di contatti validi, ma non abbiamo ancora parlato con loro.
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
per ottenere il numero di "affidabili" risposte raccolte finora.
per determinare se abbiamo raccolto un numero sufficiente di risposte
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
invalida tutti i contatti locali
InvalidateServiceContact
void InvalidateServiceContact( void )
invalidare il contatto al servizio
RegisterCommError
void RegisterCommError( Contact *const aContact )
registrare l'errore di comunicazione su un determinato contatto e abbreviare il periodo di rilevamento automatico, se necessario. aContact può essere NULL per indicare che non abbiamo nessuno con cui parlare, quindi abbreviare il periodo di rilevamento automatico
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
invia richiesta di sincronizzazione unicast a un contatto.
*rIsMessageSent sarà impostato per indicare se il messaggio è stato inviato. gli errori di comunicazione come l'indirizzo non raggiungibile non vengono restituiti, quindi il chiamante controllerà sia il codice di ritorno che *rIsMessageSent.
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
reimpostare tutti i contatti completati sullo stato di inattività, ma non toccare la risposta.
questo viene chiamato tra due cicli di comunicazione verso lo stesso nodo
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
Impostare tutti i contatti locali validi sullo stato di inattività e cancellare la risposta.
la chiamata viene chiamata prima di iniziare a contattarli uno alla volta
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
Creare un nuovo Weave Exchange per la comunicazione unicast
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
archivia i dati di contatto di un nodo che ci ha appena inviato una notifica di modifica dell'orario
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
elaborare una risposta proveniente da una richiesta multicast
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
elaborare una risposta proveniente da una richiesta unicast
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
vengono inizializzate per il ruolo Client.
Destinato all'utilizzo interno dalla famiglia di funzioni pubbliche Init. È necessario impostare mClientState prima del reso. non disponibile nei callback
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
vengono inizializzate per il ruolo Server.
Destinato all'utilizzo interno dalla famiglia di funzioni pubbliche Init. È necessario impostare mClientState prima del reso. non disponibile nei callback
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
il client non disponibile nei callback.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
arresta il coordinatore non disponibile nei callback.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
Arresta il server non disponibile nei callback.
Dettagli | |
---|---|
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
Funzioni statiche protette
HandleAutoDiscoveryTimeout
void HandleAutoDiscoveryTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleAutoSyncTimeout
void HandleAutoSyncTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleMulticastResponseTimeout
void HandleMulticastResponseTimeout( System::Layer *aSystemLayer, void *aAppState, System::Error aError )
HandleMulticastSyncResponse
void HandleMulticastSyncResponse( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
HandleSyncRequest
void HandleSyncRequest( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
callback da Weave Exchange quando arriva una richiesta di sincronizzazione dell'ora
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 da Weave Timer quando abbiamo superato la barriera di avvio inaffidabile
IsOperationalState
bool IsOperationalState( ClientState aState )
Determina se un determinato stato è operativo.
Metodo pratico per determinare se ClientState indica lo stato operativo, ovvero il client ha completato l'inizializzazione e non è in procinto di arresto.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
true se lo stato scende dopo il completamento dell'inizializzazione e prima dell'inizio dell'arresto, false negli altri casi.
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )