履歴トラッカー

RX メッセージや TX メッセージ、ネットワーク情報の変更など、さまざまなイベントの履歴を記録します。

概要

トラッキングされるエントリにはすべてタイムスタンプが付けられます。

このモジュールの関数は、OPENTHREAD_CONFIG_HISTORY_TRACKER_ENABLE が有効になっている場合に使用できます。

列挙型

anonymous enum{
  OT_HISTORY_TRACKER_MSG_PRIORITY_LOW = OT_MESSAGE_PRIORITY_LOW,
  OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL = OT_MESSAGE_PRIORITY_NORMAL,
  OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH = OT_MESSAGE_PRIORITY_HIGH,
  OT_HISTORY_TRACKER_MSG_PRIORITY_NET = OT_MESSAGE_PRIORITY_HIGH + 1
}
enum
otHistoryTrackerMessageInfo 構造体で使用されるメッセージの優先度を表す定数。
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
enum
IPv6(ユニキャストまたはマルチキャスト)アドレス情報(アドレスが追加または削除されたかどうか)のイベントを定義します。
otHistoryTrackerNeighborEvent{
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED = 1,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED = 2,
  OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING = 3
}
enum
ネイバー情報でイベントを定義します(つまり、
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
enum
ネットワーク データ エントリのイベント(エントリが追加または削除されたかどうか)を定義します。
otHistoryTrackerRouterEvent{
  OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED = 1,
  OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED = 2,
  OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED = 3
}
enum
ルーター情報のイベント(

Typedef

otHistoryTrackerExternalRouteInfo typedef
ネットワーク データ外部ルート情報を表します。
otHistoryTrackerIterator typedef
履歴リストを反復処理するイテレータを表します。
otHistoryTrackerMessageInfo typedef
RX/TX IPv6 メッセージ情報を表します。
otHistoryTrackerMulticastAddressInfo typedef
IPv6 マルチキャスト アドレス情報を表します。
otHistoryTrackerNeighborInfo typedef
ネイバー情報を表します。
otHistoryTrackerNetworkInfo typedef
Thread ネットワーク情報を表します。
otHistoryTrackerOnMeshPrefixInfo typedef
メッシュ プレフィックス情報でネットワーク データを表します。
otHistoryTrackerRouterInfo typedef
ルーター テーブルのエントリ イベントを表します。
otHistoryTrackerUnicastAddressInfo typedef
ユニキャスト IPv6 アドレス情報を表します。

関数

otHistoryTrackerEntryAgeToString(uint32_t aEntryAge, char *aBuffer, uint16_t aSize)
void
指定されたエントリの経過時間を人が読める文字列に変換します。
otHistoryTrackerInitIterator(otHistoryTrackerIterator *aIterator)
void
otHistoryTrackerIterator を初期化します。
otHistoryTrackerIterateExternalRouteHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
ネットワーク データの外部ルート エントリ履歴リスト内のエントリを反復処理します。
otHistoryTrackerIterateMulticastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
マルチキャスト アドレス履歴リストのエントリを反復処理します。
otHistoryTrackerIterateNeighborHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
ネイバーの履歴リストのエントリを反復処理します。
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
ネットワーク情報の履歴リスト内のエントリを反復処理します。
otHistoryTrackerIterateOnMeshPrefixHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
メッシュ プレフィックス エントリ履歴リスト内のネットワーク データのエントリを反復処理します。
otHistoryTrackerIterateRouterHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
ルーターの履歴リストのエントリを反復処理します。
otHistoryTrackerIterateRxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
RX メッセージの履歴リスト内のエントリを反復処理します。
otHistoryTrackerIterateTxHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
送信メッセージの履歴リストのエントリを反復処理します。
otHistoryTrackerIterateUnicastAddressHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
ユニキャスト アドレス履歴リストのエントリを反復処理します。

構造体

otHistoryTrackerExternalRouteInfo

ネットワーク データ外部ルート情報を表します。

otHistoryTrackerIterator

履歴リストを反復処理するイテレータを表します。

otHistoryTrackerMessageInfo

RX/TX IPv6 メッセージ情報を表します。

otHistoryTrackerMulticastAddressInfo

IPv6 マルチキャスト アドレス情報を表します。

otHistoryTrackerNeighborInfo

ネイバー情報を表します。

otHistoryTrackerNetworkInfo

Thread ネットワーク情報を表します。

otHistoryTrackerOnMeshPrefixInfo

メッシュ プレフィックス情報でネットワーク データを表します。

otHistoryTrackerRouterInfo

ルーター テーブルのエントリ イベントを表します。

otHistoryTrackerUnicastAddressInfo

ユニキャスト IPv6 アドレス情報を表します。

列挙型

匿名列挙型

 anonymous enum

otHistoryTrackerMessageInfo 構造体で使用されるメッセージの優先度を表す定数。

プロパティ
OT_HISTORY_TRACKER_MSG_PRIORITY_HIGH

優先度が高い。

OT_HISTORY_TRACKER_MSG_PRIORITY_LOW

優先度が低い。

OT_HISTORY_TRACKER_MSG_PRIORITY_NET

ネットワーク制御優先度。

OT_HISTORY_TRACKER_MSG_PRIORITY_NORMAL

通常の優先度。

otHistoryTrackerAddressEvent

 otHistoryTrackerAddressEvent

IPv6(ユニキャストまたはマルチキャスト)アドレス情報(アドレスが追加または削除されたかどうか)のイベントを定義します。

プロパティ
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

住所を追加しました。

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

住所を削除しました。

otHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

ネイバー情報でイベントを定義します(つまり、

近傍が追加、削除、変更のいずれであるかにかかわらず、そのデータ スコープを表します。

イベント OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING は子ネイバーにのみ適用されます。デバイスが(再起動)起動した後、非 volatile 設定から以前の子リストを取得し、デバイスが接続の復元を試みると、このイベントがトリガーされます。

プロパティ
OT_HISTORY_TRACKER_NEIGHBOR_EVENT_ADDED

近傍が追加されました。

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_CHANGED

ネイバーが変更されました(デバイスモードフラグが変更されたなど)。

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_REMOVED

近傍は削除されます。

OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING

隣人を復元しています(お子様のみ該当)。

otHistoryTrackerNetDataEvent

 otHistoryTrackerNetDataEvent

ネットワーク データ エントリのイベント(エントリが追加または削除されたかどうか)を定義します。

プロパティ
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

ネットワーク データ エントリが追加されました。

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

ネットワーク データエントリは削除されます。

otHistoryTrackerRouterEvent

 otHistoryTrackerRouterEvent

ルーター情報のイベント(

(ルーターの追加、削除、変更の有無は関係ありません)

プロパティ
OT_HISTORY_TRACKER_ROUTER_EVENT_ADDED

ルーターが追加されます(ルーター ID が割り当てられます)。

OT_HISTORY_TRACKER_ROUTER_EVENT_COST_CHANGED

ルーターのエントリパスのコストが変更されました(ネクストホップは以前と同様)。

OT_HISTORY_TRACKER_ROUTER_EVENT_NEXT_HOP_CHANGED

ルーター エントリのネクストホップとコストが変更されました。

OT_HISTORY_TRACKER_ROUTER_EVENT_REMOVED

ルーターのエントリが削除される(ルーター ID が解放される)。

Typedef

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

ネットワーク データ外部ルート情報を表します。

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

履歴リストを反復処理するイテレータを表します。

この型のフィールドは不透明(OpenThread コアによる使用を意図したもの)であるため、呼び出し元がアクセスまたは使用すべきではありません。

イテレータを使用する前に、otHistoryTrackerInitIterator() を使用して初期化しなければなりません。

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

RX/TX IPv6 メッセージ情報を表します。

この構造体のフィールドの一部は、RX メッセージまたは TX メッセージにのみ適用されます。たとえば、mAveRxRss は、受信メッセージを形成するすべてのフラグメント フレームの平均 RSS で、RX メッセージにのみ適用されます。

otHistoryTrackerMulticastAddressInfo

struct otHistoryTrackerMulticastAddressInfo otHistoryTrackerMulticastAddressInfo

IPv6 マルチキャスト アドレス情報を表します。

otHistoryTrackerNeighborInfo

struct otHistoryTrackerNeighborInfo otHistoryTrackerNeighborInfo

ネイバー情報を表します。

otHistoryTrackerNetworkInfo

struct otHistoryTrackerNetworkInfo otHistoryTrackerNetworkInfo

Thread ネットワーク情報を表します。

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

メッシュ プレフィックス情報でネットワーク データを表します。

otHistoryTrackerRouterInfo

struct otHistoryTrackerRouterInfo otHistoryTrackerRouterInfo

ルーター テーブルのエントリ イベントを表します。

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

ユニキャスト IPv6 アドレス情報を表します。

関数

otHistoryTrackerEntryAgeToString

void otHistoryTrackerEntryAgeToString(
  uint32_t aEntryAge,
  char *aBuffer,
  uint16_t aSize
)

指定されたエントリの経過時間を人が読める文字列に変換します。

エントリの経過時間の文字列は、時、分、秒、ミリ秒の場合は「::.」、1 日未満の場合は「」の形式になります。

::."(1 日を超える場合)

結果の文字列が aSize 文字内の aBuffer に収まらない場合、文字列は切り捨てられますが、出力される文字列は常に null で終わる文字列になります。

詳細
パラメータ
[in] aEntryAge
エントリの経過時間(ミリ秒単位)。
[out] aBuffer
文字列を出力するための char 配列へのポインタ(NULL であってはなりません)。
[in] aSize
aBuffer のサイズ。OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE を使用することをおすすめします。

otHistoryTrackerInitIterator

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

otHistoryTrackerIterator を初期化します。

イテレータは、使用する前に初期化しなければなりません。

イテレータを再度初期化して、リストの先頭から開始できます。

リスト内のエントリを反復処理する場合、エントリの存続期間の整合性を保つため、Age はイテレータが初期化された時間を基準として指定します。つまり、エントリの存続期間は、イベント(エントリが記録されたとき)からイテレータの初期化時間までの時間(ミリ秒単位)として指定されます。

詳細
パラメータ
[in] aIterator
初期化するイテレータへのポインタ(NULL であってはなりません)。

otHistoryTrackerIterateExternalRouteHistory

const otHistoryTrackerExternalRouteInfo * otHistoryTrackerIterateExternalRouteHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

ネットワーク データの外部ルート エントリ履歴リスト内のエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerExternalRouteInfo エントリ、または NULL(リスト内のエントリがそれ以上ない場合)。

otHistoryTrackerIterateMulticastAddressHistory

const otHistoryTrackerMulticastAddressInfo * otHistoryTrackerIterateMulticastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

マルチキャスト アドレス履歴リストのエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerMulticastAddressInfo エントリへのポインタ、またはリストにエントリがない場合は NULL

otHistoryTrackerIterateNeighborHistory

const otHistoryTrackerNeighborInfo * otHistoryTrackerIterateNeighborHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

ネイバーの履歴リストのエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerNeighborInfo エントリ、または NULL(リスト内のエントリがそれ以上ない場合)。

otHistoryTrackerIterateNetInfoHistory

const otHistoryTrackerNetworkInfo * otHistoryTrackerIterateNetInfoHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

ネットワーク情報の履歴リスト内のエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerNetworkInfo エントリへのポインタ、またはリストにエントリがない場合は NULL

otHistoryTrackerIterateOnMeshPrefixHistory

const otHistoryTrackerOnMeshPrefixInfo * otHistoryTrackerIterateOnMeshPrefixHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

メッシュ プレフィックス エントリ履歴リスト内のネットワーク データのエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerOnMeshPrefixInfo エントリ、または NULL(リスト内のエントリがそれ以上ない場合)。

otHistoryTrackerIterateRouterHistory

const otHistoryTrackerRouterInfo * otHistoryTrackerIterateRouterHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

ルーターの履歴リストのエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerRouterInfo エントリ、または NULL(リスト内のエントリがそれ以上ない場合)。

otHistoryTrackerIterateRxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateRxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

RX メッセージの履歴リスト内のエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerMessageInfo エントリ、または NULL(リスト内のエントリがそれ以上ない場合)。

otHistoryTrackerIterateTxHistory

const otHistoryTrackerMessageInfo * otHistoryTrackerIterateTxHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

送信メッセージの履歴リストのエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerMessageInfo エントリ、または NULL(リスト内のエントリがそれ以上ない場合)。

otHistoryTrackerIterateUnicastAddressHistory

const otHistoryTrackerUnicastAddressInfo * otHistoryTrackerIterateUnicastAddressHistory(
  otInstance *aInstance,
  otHistoryTrackerIterator *aIterator,
  uint32_t *aEntryAge
)

ユニキャスト アドレス履歴リストのエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化されなければなりません。そうでない場合、動作が未定義です。
[out] aEntryAge
エントリの経過時間を出力するための変数へのポインタ。NULL であってはなりません。Age は、エントリが記録されてから aIterator の初期化時刻までの時間(ミリ秒単位)で示されます。最長存続期間より古いエントリの場合は、OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerUnicastAddressInfo エントリへのポインタ、またはリストにエントリがない場合は NULL

マクロ

OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE

 OT_HISTORY_TRACKER_ENTRY_AGE_STRING_SIZE 21

エントリの経過時間の文字列表現の推奨サイズ。

OT_HISTORY_TRACKER_INFINITE_PATH_COST

 OT_HISTORY_TRACKER_INFINITE_PATH_COST 0

無限パスの費用 - otHistoryTrackerRouterInfo で使用。

OT_HISTORY_TRACKER_MAX_AGE

 OT_HISTORY_TRACKER_MAX_AGE (49 * 24 * 60 * 60 * 1000u)

この定数は、エントリの最長経過時間を 49 日(ミリ秒単位)に指定します。

エントリが最長期間を超えた場合は、この値が存続期間として使用されます。

OT_HISTORY_TRACKER_NO_NEXT_HOP

 OT_HISTORY_TRACKER_NO_NEXT_HOP 63

ネクストホップなし - otHistoryTrackerRouterInfomNextHop 用。

関連情報

OpenThread API リファレンスのトピックは、GitHub で入手できるソースコードに由来しています。 詳細について、またはドキュメントへの投稿については、リソースをご覧ください。