Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

履歴トラッカー

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)
この関数は、TX メッセージ履歴リスト内のエントリを反復処理します。
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 は子ネイバーにのみ適用されます。デバイスが再起動した後、および以前の子リストが不揮発性設定から取得され、デバイスとの接続の復元が試みられたときにトリガーされます。

プロパティ
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 日を超える場合)。

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

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

otHistoryTrackerInitIterator

void otHistoryTrackerInitIterator(
  otHistoryTrackerIterator *aIterator
)

この関数は、otHistoryTrackerIterator を初期化します。

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

イテレータをもう一度初期化する場合は、リストの先頭から開始します。

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

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

otHistoryTrackerIterateExternalRouteHistory

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

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

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化しなければならず、動作が未定義でなければなりません。
[out] aEntryAge
エントリの経過時間を出力する変数へのポインタ。NULL にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから aIterator が初期化されるまでの時間(ミリ秒単位)で指定します。経過日数が経過したエントリには OT_HISTORY_TRACKER_MAX_AGE に設定されます。
戻り値
otHistoryTrackerMessageInfo エントリ。それ以上エントリがない場合は NULL

otHistoryTrackerIterateTxHistory

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

この関数は、TX メッセージ履歴リスト内のエントリを反復処理します。

詳細
パラメータ
[in] aInstance
OpenThread インスタンスへのポインタ。
[in,out] aIterator
イテレータへのポインタ。初期化しなければならず、動作が未定義でなければなりません。
[out] aEntryAge
エントリの経過時間を出力する変数へのポインタ。NULL にはできません。経過時間は、エントリが初期化されてから 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 にはできません。経過時間は、エントリが初期化されてから 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 で入手可能なソースコードに基づいています。詳細やドキュメントの作成方法については、リソースをご覧ください。