nl:: Weave:: Profiles:: Time:: SingleSourceTimeSyncClient
Riepilogo
Tipi pubblici |
|
---|---|
ClientState{
|
enum stato attuale di questo client di sincronizzazione temporale |
SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
|
typedefvoid(*
Richiama dopo aver completato entrambi i tentativi di sincronizzazione dell'ora. |
TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
|
typedefvoid(*
Richiama 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
utilizzato per memorizzare i tempi dei voli di sola andata.
|
mIsInCallback
|
bool
|
mOnSyncCompleted
|
|
mRegisterSyncResult_usec
|
timesync_t
utilizzato per archiviare il timestamp quando viene registrato un risultato
|
mRemoteTimestamp_usec
|
timesync_t
utilizzato per archiviare l'ora di sistema del nodo remoto, quando il messaggio di risposta stava per essere inviato
|
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 utilizzando l'associazione specificata ed effettua un callback utilizzando il puntatore fornito.
|
Funzioni protette |
|
---|---|
EnterSync2(void)
|
void
|
FinalProcessing(void)
|
void
|
GetClientStateName(void) const
|
const char *
|
InvalidateRegisteredResult(void)
|
void
Annulla 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 temporale
Proprietà | |
---|---|
kClientState_Idle
|
Inizializzata, in attesa della notifica di modifica dell'ora, ma non è in corso alcuna operazione di sincronizzazione dell'ora effettiva. |
kClientState_Sync_1
|
Al primo tentativo di sincronizzazione in corso. |
kClientState_Sync_2
|
Stiamo lavorando al secondo tentativo di sincronizzazione temporale. |
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
Richiama dopo aver completato entrambi i tentativi di sincronizzazione dell'ora.
Se aErrorCode è WEAVE_NO_ERROR, almeno un tentativo è riuscito. In caso contrario, entrambi gli errori aErrorCode indicano l'ultimo errore.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
Richiama per indicare che abbiamo appena ricevuto una notifica di cambio di orario.
Imposta il valore NULL su Init. Se non viene configurato, la notifica di cambio di orario viene ignorata. Il livello dell'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
utilizzato per memorizzare i tempi dei voli di 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
utilizzato per archiviare l'ora di sistema del nodo remoto, quando il messaggio di risposta stava per essere inviato
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
Funzioni pubbliche
Interrompi
void Abort( void )
Interrompi l'operazione di sincronizzazione dell'ora attuale.
Rilascia Binding. Interrompi lo scambio attivo. Torna allo stato inattivo.
GetClientState
ClientState GetClientState( void ) const
Recupera lo stato attuale di questo client.
Dettagli | |
---|---|
Restituisce |
stato attuale
|
Inizia
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 registrati con Time Change Notification.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo
|
Sincronizzazione
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
Esegui la sincronizzazione utilizzando l'associazione specificata ed effettua un callback utilizzando il puntatore fornito.
Un'operazione di sincronizzazione dell'ora in corso viene interrotta implicitamente senza che venga effettuato il callback. Non disponibile nel callback OnSyncCompletato, ma consentito in OnTimeChangeNotificationReceived . In caso di errore, Interrompi viene chiamato in modo implicito prima di tornare da questa funzione.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
WEAVE_NO_ERROR in caso di esito positivo
|
Funzioni protette
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
Annulla 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 )
_Interrompi con richiamata
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 )