class SingleSourceTimeSyncClient
Defined at line 1129 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/time/WeaveTime.h
Public Members
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
Protected Members
void * mApp
WeaveExchangeManager * mExchangeMgr
Binding * mBinding
bool mIsInCallback
ClientState mClientState
ExchangeContext * mExchangeContext
int32_t mFlightTime_usec
timesync_t mUnadjTimestampLastSent_usec
timesync_t mRemoteTimestamp_usec
timesync_t mRegisterSyncResult_usec
SyncCompletionHandler mOnSyncCompleted
Public Methods
ClientState GetClientState ()
Retrieve current state of this client
Returns
current state
Defined at line 1147 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/time/WeaveTime.h
WEAVE_ERROR Init (void *const aApp, WeaveExchangeManager *const aExchangeMgr)
Initialize this client. Must be called before other functions can be used.
Zero/NULL initialize all internal data and register with Time Change Notification.
Parameters
Returns
WEAVE_NO_ERROR on success
void Abort ()
Abort current time sync operation. Release Binding. Abort active exchange. Move back to idle state.
WEAVE_ERROR Sync (Binding *const aBinding, SyncCompletionHandler OnSyncCompleted)
Sync using the given Binding and makes a callback using the pointer provided.
If there is a time sync operation going on, it would be aborted implicitly without callback being made.
Not available in callback OnSyncCompleted, but allowed in OnTimeChangeNotificationReceived .
On error, Abort would be called implicitly before returning from this function.
Parameters
Returns
#WEAVE_NO_ERROR on success
Protected Methods
void RegisterSyncResultIfNewOrBetter (const timesync_t aNow_usec, const timesync_t aRemoteTimestamp_usec, const int32_t aFlightTime_usec)
void _AbortWithCallback (const WEAVE_ERROR aErrorCode)
WEAVE_ERROR SendSyncRequest ()
void SetClientState (const ClientState state)
const char * GetClientStateName ()
void HandleTimeChangeNotification (ExchangeContext * aEC, const IPPacketInfo * aPktInfo, const WeaveMessageInfo * aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer * aPayload)
void HandleSyncResponse (ExchangeContext * aEC, const IPPacketInfo * aPktInfo, const WeaveMessageInfo * aMsgInfo, uint32_t aProfileId, uint8_t aMsgType, PacketBuffer * aPayload)
void OnSyncResponse (uint32_t aProfileId, uint8_t aMsgType, PacketBuffer * aPayload)
void HandleResponseTimeout (ExchangeContext * aEC)
void InvalidateRegisteredResult ()
Invalidate the registered information for time correction
Defined at line 1262 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/time/WeaveTime.h
bool IsRegisteredResultValid ()
Check if the registered information for time correction is valid
Defined at line 1265 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/time/WeaveTime.h
void OnResponseTimeout ()
void ProceedToNextState ()
void EnterSync2 ()
void FinalProcessing ()
Enumerations
enum ClientState
| Name | Value |
|---|---|
| kClientState_Idle | 0 |
| kClientState_Sync_1 | 1 |
| kClientState_Sync_2 | 2 |
current state of this Time Sync Client
Defined at line 1134 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/time/WeaveTime.h
enum
| Name | Value |
|---|---|
| kFlightTimeMinimum | 0 |
| kFlightTimeInvalid | -1 |
Defined at line 1213 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/time/WeaveTime.h