nl::
  概要
| パブリック タイプ | |
|---|---|
| ClientState{ | enum この時刻同期クライアントの現在の状態 | 
| SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime) | typedef void(*両方の時刻の同期の試行が完了した後のコールバック。 | 
| TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC) | typedef void(*時刻変更通知を受信したことを示すコールバック。 | 
| 保護されているタイプ | |
|---|---|
| @324 | enum | 
| パブリック属性 | |
|---|---|
| OnTimeChangeNotificationReceived | |
| プロテクト属性 | |
|---|---|
| mApp | void * | 
| mBinding | Binding * | 
| mClientState | |
| mExchangeContext | |
| mExchangeMgr | |
| mFlightTime_usec | int32_t保存するために使用されています。 | 
| mIsInCallback | bool | 
| mOnSyncCompleted | |
| mRegisterSyncResult_usec | timesync_t結果が登録されたときにタイムスタンプを保存するために使用 | 
| mRemoteTimestamp_usec | timesync_tレスポンス メッセージを送信しようとしたときのリモートノードのシステム時刻を保存するために使用されます。 | 
| mUnadjTimestampLastSent_usec | timesync_t | 
| パブリック関数 | |
|---|---|
| Abort(void) | void現在の時刻同期オペレーションを中止。 | 
| GetClientState(void) const  | このクライアントの現在の状態を取得します。 | 
| Init(void *const aApp, WeaveExchangeManager *const aExchangeMgr) | このクライアントを初期化します。 | 
| Sync(Binding *const aBinding, SyncCompletionHandler OnSyncCompleted) | 指定された Binding を使用して同期し、指定されたポインタを使用してコールバックを行います。 | 
| プロテクト関数 | |
|---|---|
| EnterSync2(void) | void | 
| FinalProcessing(void) | void | 
| GetClientStateName(void) const  | const char * | 
| InvalidateRegisteredResult(void) | void時刻修正の登録情報を無効にします。 | 
| IsRegisteredResultValid(void) | bool時刻を修正するために登録されている情報が有効かどうかを確認します。 | 
| 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 | 
| 保護された静的関数 | |
|---|---|
| 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 | 
公開タイプ
ClientState
ClientState
この時刻同期クライアントの現在の状態
| プロパティ | |
|---|---|
| kClientState_Idle | 初期化され、時刻変更通知を待機していますが、実際の時刻同期オペレーションは実行されていません。 | 
| kClientState_Sync_1 | 初回の同期を試行しています。 | 
| kClientState_Sync_2 | 2 回目の同期を試行しています。 | 
SyncCompletionHandler
void(* SyncCompletionHandler)(void *const aApp, const WEAVE_ERROR aErrorCode, const timesync_t aCorrectedSystemTime)
両方の時刻の同期の試行が完了した後のコールバック。
aErrorCode が WEAVE_NO_ERROR の場合、少なくとも 1 回の試行が成功しています。それ以外の場合、どちらも aErrorCode で失敗した場合は、最新のエラーを示します。
| 詳細 | |||||||
|---|---|---|---|---|---|---|---|
| パラメータ | 
 | ||||||
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, ExchangeContext *aEC)
時刻変更通知を受信したことを示すコールバック。
Init の時点で NULL に設定します。設定しない場合、時刻変更通知は無視されます。アプリレイヤは、このコールバックで中止と同期を呼び出すことができます。
| 詳細 | |||||
|---|---|---|---|---|---|
| パラメータ | 
 | ||||
保護されているタイプ
@324
@324
パブリック属性
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
プロテクト属性
mApp
void * mApp
mBinding
Binding * mBinding
mClientState
ClientState mClientState
mExchangeContext
ExchangeContext * mExchangeContext
mExchangeMgr
WeaveExchangeManager * mExchangeMgr
mFlightTime_usec
int32_t mFlightTime_usec
保存するために使用されています。
mIsInCallback
bool mIsInCallback
mOnSyncCompleted
SyncCompletionHandler mOnSyncCompleted
mRegisterSyncResult_usec
timesync_t mRegisterSyncResult_usec
結果が登録されるときにタイムスタンプを保存するために使用
mRemoteTimestamp_usec
timesync_t mRemoteTimestamp_usec
レスポンス メッセージを送信しようとしたときのリモートノードのシステム時刻を保存するために使用されます。
mUnadjTimestampLastSent_usec
timesync_t mUnadjTimestampLastSent_usec
パブリック関数
init
WEAVE_ERROR Init( void *const aApp, WeaveExchangeManager *const aExchangeMgr )
このクライアントを初期化します。
他の関数を使用する前に呼び出す必要があります。ゼロ/NULL はすべての内部データを初期化し、時間変更通知に登録します。
| 詳細 | |||||
|---|---|---|---|---|---|
| パラメータ | 
 | ||||
| 戻り値 | 成功時の WEAVE_NO_ERROR | ||||
同期
WEAVE_ERROR Sync( Binding *const aBinding, SyncCompletionHandler OnSyncCompleted )
指定された Binding を使用して同期し、指定されたポインタを使用してコールバックを行います。
時刻同期処理が進行中の場合は、コールバックが行われることなく暗黙的に中止されます。コールバックの OnSyncCompleted では使用できませんが、 OnTimeChangeNotificationReceived では許可エラーが発生すると、この関数から戻る前に Abort が暗黙的に呼び出されます。
| 詳細 | |||||
|---|---|---|---|---|---|
| パラメータ | 
 | ||||
| 戻り値 | 成功時: WEAVE_NO_ERROR | ||||
プロテクト関数
EnterSync2
void EnterSync2( void )
FinalProcessing
void FinalProcessing( void )
GetClientStateName
const char * GetClientStateName( void ) const
InvalidateRegisteredResult
void InvalidateRegisteredResult( void )
時刻修正の登録情報を無効にします。
IsRegisteredResultValid
bool IsRegisteredResultValid( void )
時刻を修正するために登録されている情報が有効かどうかを確認します。
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 )
保護された静的関数
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 )