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

履歴トラッカー

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

概要

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

このモジュールの関数は、OPENTHREAD_CONFIG_HISTOR_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
}
列挙型
otHistoryTrackerMessageInfo 構造体で使用されるメッセージの優先度を表す定数。
otHistoryTrackerAddressEvent{
  OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED = 0,
  OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED = 1
}
列挙型
この列挙型は、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
}
列挙型
この列挙型は、近 info 情報(
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
列挙型
この列挙型は、ネットワーク データ エントリのイベント(エントリの追加や削除を行うかどうか)を定義します。

Typedef

otHistoryTrackerExternalRouteInfo typedef
この構造は、ネットワーク データの外部ルート情報を表します。
otHistoryTrackerIterator typedef
このタイプは、履歴リストを反復処理するためのイテレータを表します。
otHistoryTrackerMessageInfo typedef
この構造は、RX/TX IPv6 メッセージ情報を表しています。
otHistoryTrackerMulticastAddressInfo typedef
この構造は IPv6 マルチキャスト アドレス情報を表します。
otHistoryTrackerNeighborInfo typedef
この構造は近隣情報を表します。
otHistoryTrackerNetworkInfo typedef
この構造体は、スレッドのネットワーク情報を表します。
otHistoryTrackerOnMeshPrefixInfo 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)
この関数は、近 history 履歴リストのエントリを反復処理します。
otHistoryTrackerIterateNetInfoHistory(otInstance *aInstance, otHistoryTrackerIterator *aIterator, uint32_t *aEntryAge)
この関数は、ネットワーク情報履歴リストのエントリを反復処理します。
otHistoryTrackerIterateOnMeshPrefixHistory(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

この構造体は、スレッドのネットワーク情報を表します。

otHistoryTrackerOnMeshPrefixInfo

この構造は、メッシュの接頭辞のネットワーク データを表します。

otHistoryTrackerUnicastAddressInfo

この構造は、ユニキャスト IPv6 アドレス情報を表します。

列挙型

匿名列挙型

 anonymous enum

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

Properties
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(ユニキャストまたはマルチキャスト)アドレス情報(アドレスが追加または削除されたかどうか)のイベントを定義します。

Properties
OT_HISTORY_TRACKER_ADDRESS_EVENT_ADDED

アドレスが追加されました。

OT_HISTORY_TRACKER_ADDRESS_EVENT_REMOVED

住所は削除されています。

otHistoryTrackerNeighborEvent

 otHistoryTrackerNeighborEvent

この列挙型は、近 info 情報(

ネイバーが追加、削除、変更されているかどうか。

イベント OT_HISTORY_TRACKER_NEIGHBOR_EVENT_RESTORING は隣接するユーザーのみに適用されます。この設定は、デバイスが(再起動)された後で、以前の子リストが不揮発性の設定から取得されて、デバイスの接続を復元しようとしたときにトリガーされます。

Properties
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

この列挙型は、ネットワーク データ エントリのイベント(エントリの追加や削除を行うかどうか)を定義します。

Properties
OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED

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

OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED

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

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

この構造体は、スレッドのネットワーク情報を表します。

otHistoryTrackerOnMeshPrefixInfo

struct otHistoryTrackerOnMeshPrefixInfo otHistoryTrackerOnMeshPrefixInfo

この構造は、メッシュの接頭辞のネットワーク データを表します。

otHistoryTrackerUnicastAddressInfo

struct otHistoryTrackerUnicastAddressInfo otHistoryTrackerUnicastAddressInfo

この構造は、ユニキャスト IPv6 アドレス情報を表します。

関数

otHistoryTrackerEntryAgeToString

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

この関数は、指定されたエントリの年齢を、人が読める文字列に変換します。

エントリの年齢文字列は「時間、分、秒、ミリ秒(1 日未満の場合)または

::."(1 日以上の場合)。

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

詳細
パラメータ
[in] aEntryAge
エントリの経過時間(ミリ秒単位の時間)。
[out] aBuffer
文字列を出力する文字配列へのポインタ(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 にすることはできません。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
)

この関数は、近 history 履歴リストのエントリを反復処理します。

詳細
パラメータ
[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

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
)

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

詳細
パラメータ
[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_MAX_AGE」

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

この定数は、エントリの最大存続期間を 49 日(ミリ秒単位)で指定します。

最長期間を過ぎたエントリは、この値として年齢制限が設定されます。

リソース

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