Google 致力于为黑人社区推动种族平等。查看具体行动

讯息

此模块包含操作 OpenThread 消息缓冲区的函数。

摘要

枚举

otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
枚举
此枚举定义了 OpenThread 消息优先级。

类型定义符

otBufferInfo typedef
struct otBufferInfo
此结构表示 OpenThread 堆栈使用的不同队列的消息缓冲区信息。
otMessage typedef
struct otMessage
此类型是 OpenThread 消息缓冲区的不透明表示形式。
otMessagePriority typedef
此枚举定义了 OpenThread 消息优先级。
otMessageQueueInfo typedef
此结构表示消息队列的相关信息。
otMessageSettings typedef
此结构表示消息设置。

函数

otMessageAppend(otMessage *aMessage, const void *aBuf, uint16_t aLength)
在消息中附加字节。
otMessageFree(otMessage *aMessage)
void
释放已分配的消息缓冲区。
otMessageGetBufferInfo(otInstance *aInstance, otBufferInfo *aBufferInfo)
void
获取消息缓冲区信息。
otMessageGetLength(const otMessage *aMessage)
uint16_t
获取消息长度(以字节为单位)。
otMessageGetOffset(const otMessage *aMessage)
uint16_t
获取消息的偏移量(以字节为单位)。
otMessageGetRss(const otMessage *aMessage)
int8_t
此函数返回与消息相关联的平均 RSS(接收信号强度)。
otMessageIsLinkSecurityEnabled(const otMessage *aMessage)
bool
此函数用于指示消息是否启用了链接安全性。
otMessageQueueDequeue(otMessageQueue *aQueue, otMessage *aMessage)
void
此函数从指定消息队列中删除消息。
otMessageQueueEnqueue(otMessageQueue *aQueue, otMessage *aMessage)
void
此函数将消息添加到给定消息队列的末尾。
otMessageQueueEnqueueAtHead(otMessageQueue *aQueue, otMessage *aMessage)
void
此函数在给定消息队列的头部/前面添加一条消息。
otMessageQueueGetHead(otMessageQueue *aQueue)
此函数返回一个在队列顶部指向消息的指针。
otMessageQueueGetNext(otMessageQueue *aQueue, const otMessage *aMessage)
该函数通过向前迭代(从头到尾)返回队列中下一条消息的指针。
otMessageQueueInit(otMessageQueue *aQueue)
void
初始化消息队列。
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
从消息中读取字节。
otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled)
void
此函数设置/强制使用直接传输转发消息。
otMessageSetLength(otMessage *aMessage, uint16_t aLength)
设置消息长度(以字节为单位)。
otMessageSetOffset(otMessage *aMessage, uint16_t aOffset)
void
设置消息的偏移量(以字节为单位)。
otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength)
int
向消息写入字节。

结构体

otBufferInfo

此结构表示 OpenThread 堆栈使用的不同队列的消息缓冲区信息。

otMessageQueue

此结构表示一个 OpenThread 消息队列。

otMessageQueueInfo

此结构表示消息队列的相关信息。

otMessageSettings

此结构表示消息设置。

枚举

oOT 消息优先级

 otMessagePriority

此枚举定义了 OpenThread 消息优先级。

属性
OT_MESSAGE_PRIORITY_HIGH

高优先级。

OT_MESSAGE_PRIORITY_LOW

低优先级。

OT_MESSAGE_PRIORITY_NORMAL

普通优先级。

类型定义符

缓冲区信息

struct otBufferInfo otBufferInfo

此结构表示 OpenThread 堆栈使用的不同队列的消息缓冲区信息。

OTT 消息

struct otMessage otMessage

此类型是 OpenThread 消息缓冲区的不透明表示形式。

oOT 消息优先级

enum otMessagePriority otMessagePriority

此枚举定义了 OpenThread 消息优先级。

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

此结构表示消息队列的相关信息。

otMessage 设置

struct otMessageSettings otMessageSettings

此结构表示消息设置。

函数

otMessageAttach

otError otMessageAppend(
  otMessage *aMessage,
  const void *aBuf,
  uint16_t aLength
)

在消息中附加字节。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
[in] aBuf
指向要附加的数据的指针。
[in] aLength
要附加的字节数。
返回值
OT_ERROR_NONE
已成功附加到邮件
OT_ERROR_NO_BUFS
没有任何可用于增加消息的缓冲区。
另请参阅
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

没有消息

void otMessageFree(
  otMessage *aMessage
)

释放已分配的消息缓冲区。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
另请参阅
otMessageAttach
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetBufferInfo

void otMessageGetBufferInfo(
  otInstance *aInstance,
  otBufferInfo *aBufferInfo
)

获取消息缓冲区信息。

详情
参数
[in] aInstance
指向 OpenThread 实例的指针。
[out] aBufferInfo
写入消息缓冲区信息的指针。

otMessageGetLength

uint16_t otMessageGetLength(
  const otMessage *aMessage
)

获取消息长度(以字节为单位)。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
返回值
消息长度(以字节为单位)。
另请参阅
otMessageFree
otMessageAttach
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

获取消息的偏移量(以字节为单位)。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
返回值
消息偏移值。
另请参阅
otMessageFree
otMessageAttach
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

getMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

此函数返回与消息相关联的平均 RSS(接收信号强度)。

详情
返回值
平均 RSS 值(以 dBm 为单位)或 OT_RADIO_RSSI_INVALID(如果没有可用的平均 RSS)。

otMessageIsLinkSecurityEnabled

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

此函数用于指示消息是否启用了链接安全性。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
返回值
TRUE
链接安全已启用。
FALSE
如果链接安全未启用。

otMessageQueueDequeue

void otMessageQueueDequeue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

此函数从指定消息队列中删除消息。

详情
参数
[in] aQueue
指向消息队列的指针。
[in] aMessage
要移除的消息。

otMessageQueueEnqueue 消息

void otMessageQueueEnqueue(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

此函数将消息添加到给定消息队列的末尾。

详情
参数
[in] aQueue
指向消息队列的指针。
[in] aMessage
要添加的消息。

otMessageQueueEnqueueAtHead

void otMessageQueueEnqueueAtHead(
  otMessageQueue *aQueue,
  otMessage *aMessage
)

此函数在给定消息队列的头部/前面添加一条消息。

详情
参数
[in] aQueue
指向消息队列的指针。
[in] aMessage
要添加的消息。

otMessageQueueGetHead

otMessage * otMessageQueueGetHead(
  otMessageQueue *aQueue
)

此函数返回一个在队列顶部指向消息的指针。

详情
参数
[in] aQueue
指向消息队列的指针。
返回值
指向队列顶部的消息的指针;如果队列为空,则为 NULL。

otMessageQueueGetNext

otMessage * otMessageQueueGetNext(
  otMessageQueue *aQueue,
  const otMessage *aMessage
)

该函数通过向前迭代(从头到尾)返回队列中下一条消息的指针。

详情
参数
[in] aQueue
指向消息队列的指针。
[in] aMessage
指向当前消息缓冲区的指针。
返回值
指向 aMessage 中的下一个消息的指针,如果 aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue`,则返回 NULL。

otMessageQueueInit 类中的方法

void otMessageQueueInit(
  otMessageQueue *aQueue
)

初始化消息队列。

该函数只能调用一次,且只能针对otMessageQueue实例之前otMessageQueue函数。如果其他队列 API 在初始化之前与 otMessageQueue 一起使用或初始化多次,则未定义此行为。

详情
参数
[in] aQueue
指向消息队列的指针。

otMessageRead

uint16_t otMessageRead(
  const otMessage *aMessage,
  uint16_t aOffset,
  void *aBuf,
  uint16_t aLength
)

从消息中读取字节。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
[in] aOffset
以字节为单位的偏移量。
[in] aBuf
指向读取消息字节的缓冲区的指针。
[in] aLength
要读取的字节数。
返回值
读取的字节数。
另请参阅
otMessageFree
otMessageAttach
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageSetDirectTransmission

void otMessageSetDirectTransmission(
  otMessage *aMessage,
  bool aEnabled
)

此函数设置/强制使用直接传输转发消息。

新消息的默认设置是 false

详情
参数
[in] aMessage
指向消息缓冲区的指针。
[in] aEnabled
如果为 true,则消息必须使用直接传输。如果为 false,则消息遵循常规过程。

otMessageSetLength

otError otMessageSetLength(
  otMessage *aMessage,
  uint16_t aLength
)

设置消息长度(以字节为单位)。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
[in] aLength
以字节为单位的长度。
返回值
OT_ERROR_NONE
已成功设置消息长度。
OT_ERROR_NO_BUFS
没有任何可用于增加消息的缓冲区。
另请参阅
otMessageFree
otMessageAttach
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

oMessageMessageSetset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

设置消息的偏移量(以字节为单位)。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
[in] aOffset
以字节为单位的偏移量。
另请参阅
otMessageFree
otMessageAttach
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

OTMessageWrite

int otMessageWrite(
  otMessage *aMessage,
  uint16_t aOffset,
  const void *aBuf,
  uint16_t aLength
)

向消息写入字节。

详情
参数
[in] aMessage
指向消息缓冲区的指针。
[in] aOffset
以字节为单位的偏移量。
[in] aBuf
指向写入消息字节的缓冲区的指针。
[in] aLength
要写入的字节数。
返回值
写入的字节数。
另请参阅
otMessageFree
otMessageAttach
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

资源

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