nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Riepilogo
Tipi pubblici |
|
---|---|
ClientState{
|
enum stato attuale di questo client di sincronizzazione dell'ora |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Callback dopo entrambi i tentativi di sincronizzazione dell'ora completati. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Callback per indicare che abbiamo appena ricevuto una notifica di cambio di orario. |
Tipi protetti |
|
---|---|
@324
|
enum |
Attributi pubblici |
|
---|---|
OnTimeChangeNotificationReceived
|
Attributi protetti |
|
---|---|
mApp
|
void *
|
mBinding
|
Binding *
|
mClientState
|
|
mExchangeContext
|
|
mExchangeMgr
|
|
mFlightTime_usec
|
int32_t
utilizzata per memorizzare i tempi di volo una sola andata.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
utilizzato per archiviare il timestamp quando viene registrato un risultato
|
mRemoteTimestamp_usec
|
timesync_t
utilizzata per archiviare l'ora di sistema del nodo remoto quando stava per essere inviato il messaggio di risposta
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
Funzioni pubbliche |
|
---|---|
Abort(void)
|
void
Interrompi l'operazione di sincronizzazione dell'ora attuale.
|
GetClientState(void) const
|
Recupera lo stato attuale di questo client.
|
Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
Inizializza questo client.
|
Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
|
Esegui la sincronizzazione con l'associazione specificata ed effettua una richiamata utilizzando il puntatore fornito.
|
Funzioni protette |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
invalida le informazioni registrate per la correzione dell'ora.
|
IsRegisteredResultValid(void)
|
bool
Verifica che le informazioni registrate per la correzione dell'ora siano valide.
|
OnResponseTimeout(void)
|
void
|
OnSyncResponse(uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
ProceedToNextState(void)
|
void
|
RegisterSyncResultIfNewOrBetter(const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
|
void
|
SendSyncRequest(void)
|
|
SetClientState(const ClientState state)
|
void
|
_AbortWithCallback(const WEAVE_ERROR aErrorCode)
|
void
|
Funzioni statiche protette |
|
---|---|
HandleResponseTimeout(ExchangeContext *aEC)
|
void
|
HandleSyncResponse(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
HandleTimeChangeNotification(ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload)
|
void
|
Tipi pubblici
ClientState
ClientState
stato attuale di questo client di sincronizzazione dell'ora
Proprietà | |
---|---|
kClientState_Idle
|
Inizializzata, in attesa della notifica di cambio dell'ora, ma non è in corso alcuna operazione di sincronizzazione dell'ora effettiva. |
kClientState_Sync_1
|
Primo tentativo di sincronizzazione dell'ora in corso. |
kClientState_Sync_2
|
Secondo tentativo di sincronizzazione dell'ora in corso. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Callback dopo entrambi i tentativi di sincronizzazione dell'ora completati.
Se aErrorCode è WEAVE_NO_ERROR, è stato effettuato almeno un tentativo. In caso contrario, entrambi con errore e aErrorCode indica l'ultimo errore.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Callback per indicare che abbiamo appena ricevuto una notifica di cambio di orario.
Impostalo su NULL su Init. Se non viene configurato, l'opzione Notifica di cambio di orario verrà ignorata. Il livello app è autorizzato a chiamare Abort and Sync in questo callback.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
Tipi protetti
@324
@324
Attributi pubblici
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
Attributi protetti
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
utilizzata per memorizzare i tempi di volo una sola andata.
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
utilizzato per archiviare il timestamp quando viene registrato un risultato
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
utilizzata per archiviare l'ora di sistema del nodo remoto quando stava per essere inviato il messaggio di risposta
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Funzioni pubbliche
Interrompi
void Abort( void )
Interrompi l'operazione di sincronizzazione dell'ora attuale.
Rilascia Associazione. Interrompi scambio attivo. Torna allo stato di inattività.
GetClientState
ClientState GetClientState( void ) const
Recupera lo stato attuale di questo client.
Dettagli | |
---|---|
Restituisce |
stato attuale
|
Inizializzazione
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
Inizializza questo client.
Deve essere chiamata prima di poter utilizzare altre funzioni. Zero/NULL inizializza tutti i dati interni e si registra con Time Change Notification.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
Sincronizza
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Esegui la sincronizzazione con l'associazione specificata ed effettua una richiamata utilizzando il puntatore fornito.
Se è in corso un'operazione di sincronizzazione dell'ora, questa viene interrotta implicitamente senza che venga effettuato il callback. Non disponibile nel callback OnSyncCompletato, ma consentito in OnTimeChangeNotificationReceived . In caso di errore, Abort viene chiamato implicitamente prima di tornare da questa funzione.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
WEAVE_NO_ERROR all'esito positivo
|
Funzioni protette
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
invalida le informazioni registrate per la correzione dell'ora.
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
Verifica che le informazioni registrate per la correzione dell'ora siano valide.
OnResponseTimeout
void OnResponseTimeout( void )
OnSyncResponse
void OnSyncResponse( uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
ProceedToNextState
void ProceedToNextState( void )
RegisterSyncResultIfNewOrBetter
void RegisterSyncResultIfNewOrBetter( const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec )
SendSyncRequest
WEAVE_ERROR SendSyncRequest( void )
SetClientState
void SetClientState( const ClientState state )
_AbortWithCallback
void _AbortWithCallback( const WEAVE_ERROR aErrorCode )
Funzioni statiche protette
HandleResponseTimeout
void HandleResponseTimeout( ExchangeContext *aEC )
HandleSyncResponse
void HandleSyncResponse( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )
HandleTimeChangeNotification
void HandleTimeChangeNotification( ExchangeContext *aEC, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer *aPayload )