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
}
枚举
此枚举定义了邻近信息中的事件(即
otHistoryTrackerNetDataEvent{
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_ADDED = 0,
  OT_HISTORY_TRACKER_NET_DATA_ENTRY_REMOVED = 1
}
枚举
此枚举用于定义网络数据条目的事件(即,是否添加或删除某个条目)。

类型定义符

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)
此函数遍历邻居历史记录列表中的条目。
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 结构体中使用的消息优先级的常量。

属性
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

网络数据条目已移除。

类型定义符

otHistoryTrackerExternalRouteInfo

struct otHistoryTrackerExternalRouteInfo otHistoryTrackerExternalRouteInfo

此结构表示网络数据外部路由信息。

otHistoryTrackerIterator

struct otHistoryTrackerIterator otHistoryTrackerIterator

此类型表示要遍历历史记录列表的迭代器。

此类型的字段不透明(仅供 OpenThread 核心使用),因此调用者不应访问/使用这些字段。

在使用迭代器之前,必须使用 otHistoryTrackerInitIterator() 对其进行初始化:

otHistoryTrackerMessageInfo

struct otHistoryTrackerMessageInfo otHistoryTrackerMessageInfo

此结构表示一条 RX/TX IPv6 消息信息。

此结构体中的某些字段仅适用于 RX 消息或 TX 消息,例如: mAveRxRss 是构成已接收消息的所有 Fragment 帧的平均 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
)

此函数将给定条目存在时间转换为人类可读的字符串。

条目的“年龄”字符串遵循“中披露政府所要求信息的数量和类型。表示小时、分钟、秒和毫秒(如果不到一天)或“

::."(如果超过一天)。

如果生成的字符串不适合 aBuffer(包含其 aSize 字符),则该字符串将被截断,但输出的字符串始终以 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。存在时间是指从记录条目到 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

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_MAX_AGE

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

此常量指定条目的最长存在时间,即 49 天(以毫秒为单位)。

超过最长存在时间的条目将作为其存在时间值。

资源

OpenThread API 参考主题源自源代码,可在 GitHub 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源