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 上的源代码。 如需了解详情或为我们的文档做贡献,请参阅资源