nl:: Weave:: Profiles:: Time:: TimeSyncNode
概要
継承
継承元: nl::Weave::Profiles::Time::_TimeSyncNodeBase
コンストラクタとデストラクタ |
|
---|---|
TimeSyncNode(void)
|
mBootTimeForNextAutoDiscovery_usec
|
timesync_t
|
mIsAutoSyncEnabled
|
bool
自動同期機能に使用されるステータスです。
|
mIsUrgentDiscoveryPending
|
bool
|
mNominalDiscoveryPeriod_msec
|
int32_t
|
mShortestDiscoveryPeriod_msec
|
int32_t
|
mSyncPeriod_msec
|
int32_t
|
mActiveContact
|
Contact *
コンテキストです。
|
mExchangeContext
|
|
mUnadjTimestampLastSent_usec
|
timesync_t
|
EnterState_Discover(void)
|
void
これらの状態遷移関数は内部的なものであり、以前の状態では処理できないため、エラーコードを返すことはできません。
|
EnterState_ServiceSync_1(void)
|
void
|
EnterState_ServiceSync_2(void)
|
void
|
EnterState_Sync_1(void)
|
void
|
EnterState_Sync_2(void)
|
void
|
公開タイプ |
|
---|---|
ClientState
|
enum この時刻同期クライアントの現在の状態 |
CommState
|
enum 特定の連絡先への連絡状況を確認できます。 |
ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
|
typedefvoid(*
コールバックは、レスポンスから時刻修正を計算する直前に行われます。 |
OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
|
typedefbool(*
が時刻同期リクエストを受信したことを通知するコールバックです。 |
ResponseStatus
|
enum 特定の連絡先に対する保存済み回答のステータスです。 |
ServerState{
|
enum この時刻同期サーバーの現在の状態を |
SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
|
typedefvoid(*
自動同期を含め、同期が失敗したと見なされると、コールバックが発生します。 |
SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
|
typedefbool(*
同期(自動同期を含む)が成功したと見なされた後、結果が適用される前にコールバックが発生します。 |
TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
|
typedefvoid(*
コールバックは、時刻変更通知を受け取ったことを示します。 |
パブリック属性 |
|
---|---|
FilterTimeCorrectionContributor
|
|
OnSyncFailed
|
|
OnSyncRequestReceived
|
設定しない場合、デフォルトの実装は常に true を返します。
|
OnSyncSucceeded
|
設定されていない場合、デフォルトの動作では、ごくわずかなサーバー修正を除き、すべての結果が取得されます。
|
OnTimeChangeNotificationReceived
|
|
mEncryptionType
|
uint8_t
暗号化方式を採用しているので、
|
mKeyId
|
uint16_t
ローカル通信に使用される鍵 ID
|
プロテクト属性 |
|
---|---|
mApp
|
void *
上位レイヤのデータへのポインタ
|
mClientState
|
|
mConnectionToService
|
サービスとの通信に使用される TCP 接続。
|
mContacts[WEAVE_CONFIG_TIME_CLIENT_MAX_NUM_CONTACTS]
|
調査を通じて判明した連絡先情報。
|
mIsAlwaysFresh
|
bool
|
mIsInCallback
|
bool
上位レイヤへのコールバック内にいる場合は true
|
mLastLikelihoodSent
|
int8_t
|
mNumContributorInLastLocalSync
|
uint8_t
|
mRole
|
TimeSyncRole
このノードの実際のロール。
|
mServerState
|
|
mServiceContact
|
|
mTimestampLastCorrectionFromServerOrNtp_usec
|
timesync_t
スリープ時間の補正が必要なため、起動時間にする必要があることに注意してください。
|
mTimestampLastLocalSync_usec
|
timesync_t
スリープ時間の補正が必要なため、起動時間にする必要があることに注意してください。
|
パブリック関数 |
|
---|---|
Abort(void)
|
エンジンを強制的にアイドル状態に戻し、その動作を中断します。
|
DisableAutoSync(void)
|
void
自動同期を無効にします。
|
EnableAutoSync(const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec)
|
自動同期を有効にします。
|
GetCapacityOfContactList(void) const
|
int
このエンジンが保存するように設定されている連絡先の最大数を示すシンプルなゲッター
|
GetClientState(void) const
|
クライアント状態のシンプルなゲッター
|
GetNextLikelihood(void) const
|
int8_t
永続化する可能性を抽出できます。
|
GetServerState(void) const
|
サーバーの状態を取得するシンプルなゲッター
|
InitClient(void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
このクライアントを初期化します。
|
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)
|
このコーディネーターを初期化します。
|
InitServer(void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh)
|
時刻同期サーバーを意図している場合、サーバー ロールの 初期化は、オブジェクト構築後の最初の関数として呼び出す必要があります。
|
MulticastTimeChangeNotification(const uint8_t aEncryptionType, const uint16_t aKeyId) const
|
void
時刻変更通知をマルチキャストするために上位レイヤによって呼び出されます。
|
RegisterCorrectionFromServerOrNtp(void)
|
void
任意のサーバーまたは NTP などの信頼できる手段による一定の時間同期を完了したことを示すために、上位レイヤから呼び出されます。
|
RegisterLocalSyncOperation(const uint8_t aNumContributor)
|
void
他のローカル コーディネーターとのラウンド タイムの同期が完了したことを示すために、上位レイヤから呼び出されます。
|
Shutdown(void)
|
サービスを停止する必要はありません。
|
Sync(const bool aForceDiscoverAgain)
|
既存の連絡先を使用して同期できます。
|
SyncWithNodes(const int16_t aNumNode, const ServingNode aNodes[])
|
指定した連絡先リストを使用して同期します。
|
SyncWithService(WeaveConnection *const aConnection)
|
指定された TCP 接続および関連する暗号化と鍵 ID を使用して同期を実行します。
|
プロテクト関数 |
|
---|---|
AbortOnError(const WEAVE_ERROR aCode)
|
void
aCode が WEAVE_NO_ERROR でない場合の内部中止
|
AutoSyncNow(void)
|
void
自動同期セッションを開始する内部関数
|
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)
|
アプリケーション レイヤへのコールバックを誘導します。
|
ClearState(void)
|
void
|
DestroyCommContext(void)
|
bool
Weave の ExchangeContext を閉じる
|
EndLocalSyncAndTryCalculateTimeFix(void)
|
void
|
EndServiceSyncAndTryCalculateTimeFix(void)
|
void
|
FindReplaceableContact(const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification)
|
Contact *
連絡先情報を格納するスロットを返す
|
GetClientStateName(void) const
|
const char *const
|
GetNextIdleContact(void)
|
Contact *
次のアイドル状態の有効な連絡先を取得する
|
GetNumNotYetCompletedContacts(void)
|
int16_t
有効な連絡先の数を取得しますが、まだ連絡を取っていません。
|
GetNumReliableResponses(void)
|
int16_t
「reliable」または「reliable」と回答が表示されます。
|
InitState(const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr)
|
|
InvalidateAllContacts(void)
|
void
すべてのローカル連絡先を無効にする
|
InvalidateServiceContact(void)
|
void
サービスへの接続を無効にする
|
RegisterCommError(Contact *const aContact)
|
void
特定の連絡先の通信エラーを登録し、必要に応じて自動検出期間を短縮する aContact を NULL に設定して、会話する相手がいないことを示すことができるため、自動検出期間を短縮できる
|
SendSyncRequest(bool *const rIsMessageSent, Contact *const aContact)
|
連絡先にユニキャスト同期リクエストを送信します。
|
SetAllCompletedContactsToIdle(void)
|
int16_t
完了したすべての連絡先を再びアイドル状態にリセットします。ただし、応答には触れません。
|
SetAllValidContactsToIdleAndInvalidateResponse(void)
|
int16_t
すべての有効なローカル連絡先をアイドル状態に設定し、レスポンスを消去します。
|
SetClientState(const ClientState state)
|
void
|
SetupUnicastCommContext(Contact *const aContact)
|
ユニキャスト通信用の新しい Weave Exchange を作成します
|
StoreNotifyingContact(const uint64_t aNodeId, const IPAddress & aNodeAddr)
|
void
時刻変更通知を送信したノードの連絡先情報を保存する
|
UpdateMulticastSyncResponse(const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse)
|
void
マルチキャスト リクエストから返されるレスポンスを処理する
|
UpdateUnicastSyncResponse(const TimeSyncResponse & aResponse)
|
void
ユニキャスト リクエストから返されるレスポンスを処理する
|
_InitClient(const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood)
|
初期化します。
|
_InitServer(const bool aIsAlwaysFresh)
|
初期化します。
|
_ShutdownClient(void)
|
コールバックでは使用できないクライアントを
|
_ShutdownCoordinator(void)
|
コーディネータを停止します。
|
_ShutdownServer(void)
|
コールバックでは使用できないサーバーを停止します。
|
保護された静的関数 |
|
---|---|
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
時刻同期リクエストが到着したときの Weave Exchange からのコールバック
|
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
不安定な起動後のバリアを通過したときの Weave タイマーからのコールバック
|
IsOperationalState(ClientState aState)
|
bool
指定された状態が動作可能かどうかを判断する。
|
_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
自動同期機能に使用されるステータスです。
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 )
これらの状態遷移関数は内部的なものであり、以前の状態では処理できないため、エラーコードを返すことはできません。
タイマーが失敗しても、うまく機能せず、最終的に別の状態遷移(タイムアウトになる可能性がある)になる。なんらかの誤った状態でハングする可能性がある
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 )
公開タイプ
ClientState
ClientState
この時刻同期クライアントの現在の状態
ContributorFilter
void(* ContributorFilter)(void *const aApp, Contact aContact[], const int aSize)
コールバックは、レスポンスから時刻修正を計算する直前に行われます。
アプリケーション レイヤが aContact[i].mResponseStatus を kResponseStatus_Invalid に上書きして、レスポンスが計算で無視されるようにできる
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
OnSyncRequestReceivedHandler
bool(* OnSyncRequestReceivedHandler)(void *const aApp, const WeaveMessageInfo *aMsgInfo, const uint8_t aLikelyhood, const bool aIsTimeCoordinator)
が時刻同期リクエストを受信したことを通知するコールバックです。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
false の場合、エンジンはこのリクエストを無視します
|
ServerState
ServerState
この時刻同期サーバーの現在の状態を
プロパティ | |
---|---|
kServerState_Idle
|
サーバーが通常の設定でリクエストに応答する準備ができている |
kServerState_UnreliableAfterBoot
|
サーバーが他の手段でシステム時刻を同期するために予約される時間。Init が呼び出されたときに aIsAlwaysFresh が true である場合にのみ意味がある |
SyncFailedHandler
void(* SyncFailedHandler)(void *const aApp, const WEAVE_ERROR aErrorCode)
自動同期を含め、同期が失敗したと見なされると、コールバックが発生します。
Abort を呼び出して同期を停止した場合、コールバックは発生しないことに注意してください。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
SyncSucceededHandler
bool(* SyncSucceededHandler)(void *const aApp, const timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor)
同期(自動同期を含む)が成功したと見なされた後、結果が適用される前にコールバックが発生します。
成功したからといって、適用可能な結果があるとは限りません。レスポンスを受信しなかった場合、aNumContributor は 0 に設定されます。アプリケーション レイヤで aContact[i].mResponseStatus を kResponseStatus_Invalid に上書きして、レスポンスが計算で無視されるようにできます。
詳細 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||
戻り値 |
このオフセットを使用してシステム時刻を調整する必要がある場合は true を返します。aNumContributor が 0 の場合、戻り値は無視されます。
|
TimeChangeNotificationHandler
void(* TimeChangeNotificationHandler)(void *const aApp, const uint64_t aNodeId, const IPAddress &aNodeAddr)
コールバックは、時刻変更通知を受け取ったことを通知します。
自動同期モードが有効になっている場合は、このコールバックの直後に時刻の同期が自動的にスケジュール設定されます。それ以外の場合、アプリケーション レイヤは Sync 関数ファミリーを呼び出すことで、通常の not-available-in-call-back ルールによって制限されない同期オペレーションを直接開始できます。ただし、この特別なコールバックは、Weave エクスチェンジ レイヤのコールバック スタックの一番上にあることに留意する必要があります。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
パブリック属性
FilterTimeCorrectionContributor
ContributorFilter FilterTimeCorrectionContributor
OnSyncFailed
SyncFailedHandler OnSyncFailed
OnSyncRequestReceived
OnSyncRequestReceivedHandler OnSyncRequestReceived
設定しない場合、デフォルトの実装は常に true を返します。
OnSyncSucceeded
SyncSucceededHandler OnSyncSucceeded
設定されていない場合、デフォルトの動作では、ごくわずかなサーバー修正を除き、すべての結果が取得されます。
OnTimeChangeNotificationReceived
TimeChangeNotificationHandler OnTimeChangeNotificationReceived
mEncryptionType
uint8_t mEncryptionType
暗号化方式を採用しているので、
mKeyId
uint16_t mKeyId
ローカル通信に使用される鍵 ID
プロテクト属性
mApp
void * mApp
上位レイヤデータへのポインタ
mClientState
ClientState mClientState
mIsAlwaysFresh
bool mIsAlwaysFresh
mIsInCallback
bool mIsInCallback
上位レイヤへのコールバック内にいる場合は true
mLastLikelihoodSent
int8_t mLastLikelihoodSent
mNumContributorInLastLocalSync
uint8_t mNumContributorInLastLocalSync
mRole
TimeSyncRole mRole
このノードの実際のロール。
mServerState
ServerState mServerState
mServiceContact
Contact mServiceContact
mTimestampLastCorrectionFromServerOrNtp_usec
timesync_t mTimestampLastCorrectionFromServerOrNtp_usec
スリープ時間の補正が必要なため、起動時間にする必要があることに注意してください。
mTimestampLastLocalSync_usec
timesync_t mTimestampLastLocalSync_usec
スリープ時間の補正が必要なため、起動時間にする必要があることに注意してください。
パブリック関数
中止
WEAVE_ERROR Abort( void )
エンジンを強制的にアイドル状態に戻し、その動作を中断します。
同期の成功または失敗は呼び出されません。すべての Weave 交換がクローズされます。TCP 接続については、これ以上触れることはできません。アイドル状態の場合は何もしませんコールバックでは使用できません。
詳細 | |
---|---|
戻り値 |
成功時の WEAVE_NO_ERROR
|
DisableAutoSync
void DisableAutoSync( void )
自動同期を無効にします。
アイドル状態でのみ利用可能です。コールバックでは使用できません。
EnableAutoSync
WEAVE_ERROR EnableAutoSync( const int32_t aSyncPeriod_msec, const int32_t aNominalDiscoveryPeriod_msec, const int32_t aShortestDiscoveryPeriod_msec )
自動同期を有効にします。
アイドル状態でのみ利用可能です。すぐに見つかりますコールバックでは使用できません。
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
成功時の WEAVE_NO_ERROR
|
GetCapacityOfContactList
int GetCapacityOfContactList( void ) const
このエンジンが保存するように設定されている連絡先の最大数を示すシンプルなゲッター
GetNextLikelihood
int8_t GetNextLikelihood( void ) const
永続化する可能性を抽出できます。
結果は、同期オペレーションが完了した後で、OnSyncSucceeded と OnSyncFailed のコールバック内でのみ有効になります。それ以外の場合は一時的なものであり、次に使用される可能性ではなく、現在の Likelihood である可能性があります。
詳細 | |
---|---|
戻り値 |
次のリクエストでレスポンスが使用される可能性
|
InitClient
WEAVE_ERROR InitClient( void *const aApp, WeaveExchangeManager *aExchangeMgr, const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
このクライアントを初期化します。
コールバックでは利用不可
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
成功時の WEAVE_NO_ERROR
|
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 )
このコーディネーターを初期化します。
詳細 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||
戻り値 |
成功時の WEAVE_NO_ERROR
|
InitServer
WEAVE_ERROR InitServer( void *const aApp, WeaveExchangeManager *const aExchangeMgr, const bool aIsAlwaysFresh )
時刻同期サーバーを意図している場合、サーバー ロールの 初期化は、オブジェクト構築後の最初の関数として呼び出す必要があります。
コールバックでは利用不可
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
成功時の WEAVE_NO_ERROR
|
MulticastTimeChangeNotification
void MulticastTimeChangeNotification( const uint8_t aEncryptionType, const uint16_t aKeyId ) const
時刻変更通知をマルチキャストするために上位レイヤによって呼び出されます。
コールバックでは使用できません。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
RegisterCorrectionFromServerOrNtp
void RegisterCorrectionFromServerOrNtp( void )
任意のサーバーまたは NTP などの信頼できる手段による一定の時間同期を完了したことを示すために、上位レイヤから呼び出されます。
RegisterLocalSyncOperation
void RegisterLocalSyncOperation( const uint8_t aNumContributor )
他のローカル コーディネーターとのラウンド タイムの同期が完了したことを示すために、上位レイヤから呼び出されます。
詳細 | |||
---|---|---|---|
パラメータ |
|
シャットダウン
WEAVE_ERROR Shutdown( void )
サービスを停止する必要はありません。
この関数を呼び出して、割り当てられたリソースを適切に回収してから、init 関数を再度呼び出す必要があります。コールバックでは使用できません。
詳細 | |
---|---|
戻り値 |
成功時の WEAVE_NO_ERROR
|
同期
WEAVE_ERROR Sync( const bool aForceDiscoverAgain )
既存の連絡先を使用して同期できます。
有効な連絡先がない場合、同期オペレーションが失敗する可能性があります。直ちに検出を強制的に適用するには、aForceDiscoverAgain を true に設定します。アイドル状態でのみ利用可能です。コールバックでは使用できません。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
成功時の WEAVE_NO_ERROR
|
SyncWithNodes
WEAVE_ERROR SyncWithNodes( const int16_t aNumNode, const ServingNode aNodes[] )
指定した連絡先リストを使用して同期します。
既存の連絡先リストがフラッシュされますアイドル状態でのみ利用可能です。コールバックでは使用できません。
詳細 | |||||
---|---|---|---|---|---|
パラメータ |
|
||||
戻り値 |
成功時の WEAVE_NO_ERROR
|
SyncWithService
WEAVE_ERROR SyncWithService( WeaveConnection *const aConnection )
指定された TCP 接続および関連する暗号化と鍵 ID を使用して同期を実行します。
同期の完了後、呼び出し元は TCP 接続の所有権を取得する必要があります。TCP 接続のコールバックは上書きされません。新しい Weave Exchange が作成され、そのコンテキストの上で設定されたコールバックはアイドル状態でのみ利用可能になるためです。コールバックでは使用できません。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
成功時の WEAVE_NO_ERROR
|
TimeSyncNode
TimeSyncNode( void )
プロテクト関数
AutoSyncNow
void AutoSyncNow( void )
自動同期セッションを開始する内部関数
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 )
アプリケーション レイヤへのコールバックを誘導します。
aIsSuccessful を false に設定して、エラー コールバックを発生させる
ClearState
void ClearState( void )
EndLocalSyncAndTryCalculateTimeFix
void EndLocalSyncAndTryCalculateTimeFix( void )
EndServiceSyncAndTryCalculateTimeFix
void EndServiceSyncAndTryCalculateTimeFix( void )
FindReplaceableContact
Contact * FindReplaceableContact( const uint64_t aNodeId, const IPAddress & aNodeAddr, bool aIsTimeChangeNotification )
連絡先情報を格納するスロットを返す
GetClientStateName
const char *const GetClientStateName( void ) const
GetNumNotYetCompletedContacts
int16_t GetNumNotYetCompletedContacts( void )
有効な連絡先の数を取得しますが、まだ連絡を取っていません。
GetNumReliableResponses
int16_t GetNumReliableResponses( void )
「reliable」または「reliable」と回答が表示されます。
が呼び出され、十分な数のレスポンスが収集されたかどうかが判断されます。
InitState
WEAVE_ERROR InitState( const TimeSyncRole aRole, void *const aApp, WeaveExchangeManager *const aExchangeMgr )
InvalidateAllContacts
void InvalidateAllContacts( void )
すべてのローカル連絡先を無効にする
InvalidateServiceContact
void InvalidateServiceContact( void )
サービスへの接続を無効にする
RegisterCommError
void RegisterCommError( Contact *const aContact )
特定の連絡先の通信エラーを登録し、必要に応じて自動検出期間を短縮する aContact を NULL に設定して、会話する相手がいないことを示すことができるため、自動検出期間を短縮できる
SendSyncRequest
WEAVE_ERROR SendSyncRequest( bool *const rIsMessageSent, Contact *const aContact )
連絡先にユニキャスト同期リクエストを送信します。
*rIsMessageSent は、メッセージが送信されたかどうかを示すために設定されます。アドレス到達不能などの通信エラーが返されないため、呼び出し元は戻りコードと *rIsMessageSent の両方を確認する必要があります。
SetAllCompletedContactsToIdle
int16_t SetAllCompletedContactsToIdle( void )
完了したすべての連絡先を再びアイドル状態にリセットします。ただし、応答には触れません。
これは、同じノードへの 2 回の通信ラウンド間で呼び出されます。
SetAllValidContactsToIdleAndInvalidateResponse
int16_t SetAllValidContactsToIdleAndInvalidateResponse( void )
すべての有効なローカル連絡先をアイドル状態に設定し、レスポンスを消去します。
1 対 1 の連絡が開始される前に呼び出されます
SetClientState
void SetClientState( const ClientState state )
SetupUnicastCommContext
WEAVE_ERROR SetupUnicastCommContext( Contact *const aContact )
ユニキャスト通信用の新しい Weave Exchange を作成します
StoreNotifyingContact
void StoreNotifyingContact( const uint64_t aNodeId, const IPAddress & aNodeAddr )
時刻変更通知を送信したノードの連絡先情報を保存する
UpdateMulticastSyncResponse
void UpdateMulticastSyncResponse( const uint64_t aNodeId, const IPAddress & aNodeAddr, const TimeSyncResponse & aResponse )
マルチキャスト リクエストから返されるレスポンスを処理する
UpdateUnicastSyncResponse
void UpdateUnicastSyncResponse( const TimeSyncResponse & aResponse )
ユニキャスト リクエストから返されるレスポンスを処理する
_InitClient
WEAVE_ERROR _InitClient( const uint8_t aEncryptionType, const uint16_t aKeyId, const int8_t aInitialLikelyhood )
初期化します。
パブリック関数の Init ファミリーで内部で使用することを目的としています。返される前に mClientState を設定する必要があります。コールバックでは利用不可
詳細 | |||||||
---|---|---|---|---|---|---|---|
パラメータ |
|
||||||
戻り値 |
成功時の WEAVE_NO_ERROR
|
_InitServer
WEAVE_ERROR _InitServer( const bool aIsAlwaysFresh )
初期化します。
パブリック関数の Init ファミリーで内部で使用することを目的としています。返される前に mClientState を設定する必要があります。コールバックでは利用不可
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
成功時の WEAVE_NO_ERROR
|
_ShutdownClient
WEAVE_ERROR _ShutdownClient( void )
コールバックでは使用できないクライアントを
詳細 | |
---|---|
戻り値 |
成功時の WEAVE_NO_ERROR
|
_ShutdownCoordinator
WEAVE_ERROR _ShutdownCoordinator( void )
コーディネータを停止します。
詳細 | |
---|---|
戻り値 |
成功時の WEAVE_NO_ERROR
|
_ShutdownServer
WEAVE_ERROR _ShutdownServer( void )
コールバックでは使用できないサーバーを停止します。
詳細 | |
---|---|
戻り値 |
成功時の WEAVE_NO_ERROR
|
保護された静的関数
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 )
時刻同期リクエストが到着したときの Weave Exchange からのコールバック
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 )
不安定な起動後のバリアを通過したときの Weave タイマーからのコールバック
IsOperationalState
bool IsOperationalState( ClientState aState )
指定された状態が動作可能かどうかを判断する。
ClientState が動作状態を示しているかどうか、すなわちクライアントが初期化を完了し、シャットダウンのプロセスではないことを判断するためのコンビニエンス メソッド。
詳細 | |||
---|---|---|---|
パラメータ |
|
||
戻り値 |
初期化が完了してからシャットダウンが開始される前に状態が下がった場合は true、そうでない場合は false に設定します。
|
_OnSyncSucceeded
bool _OnSyncSucceeded( void *const aApp, const nl::Weave::Profiles::Time::timesync_t aOffsetUsec, const bool aIsReliable, const bool aIsServer, const uint8_t aNumContributor )