消息
此模块包含用于操纵 OpenThread 消息缓冲区的函数。
摘要
| 枚举 | |
|---|---|
| otMessageOrigin{ | 枚举 定义 OpenThread 消息来源。 | 
| otMessagePriority{ | 枚举 定义 OpenThread 消息优先级。 | 
| 类型定义符 | |
|---|---|
| otBufferInfo | typedef struct otBufferInfo表示 OpenThread 堆栈使用的不同队列的消息缓冲区信息。 | 
| otMessage | typedef struct otMessageOpenThread 消息缓冲区的不透明表示法。 | 
| otMessageOrigin | typedef enum otMessageOrigin定义 OpenThread 消息来源。 | 
| otMessagePriority | typedef enum otMessagePriority定义 OpenThread 消息优先级。 | 
| otMessageQueueInfo | typedef struct otMessageQueueInfo表示有关消息队列的信息。 | 
| otMessageSettings | typedef struct otMessageSettings表示消息设置。 | 
| 函数 | |
|---|---|
| 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获取消息偏移量(以字节为单位)。 | 
| otMessageGetOrigin(const otMessage *aMessage) | 获取消息来源。 | 
| otMessageGetRss(const otMessage *aMessage) | int8_t返回与邮件相关联的平均 RSS(接收信号强度)。 | 
| otMessageIsLinkSecurityEnabled(const otMessage *aMessage) | bool指明是否已为邮件启用链接安全。 | 
| otMessageIsLoopbackToHostAllowed(const otMessage *aMessage) | bool指示是否允许将消息环回至主机。 | 
| otMessageIsMulticastLoopEnabled(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从消息中读取字节。 | 
| otMessageResetBufferInfo(otInstance *aInstance) | void重置 Message Buffer 信息计数器,以跟踪同时使用的缓冲区数上限。 | 
| otMessageSetDirectTransmission(otMessage *aMessage, bool aEnabled) | void设置/强制使用直接传输转发邮件。 | 
| otMessageSetLength(otMessage *aMessage, uint16_t aLength) | 设置消息长度(以字节为单位)。 | 
| otMessageSetLoopbackToHostAllowed(otMessage *aMessage, bool aAllowLoopbackToHost) | void设置是否允许消息环回至主机。 | 
| otMessageSetMulticastLoopEnabled(otMessage *aMessage, bool aEnabled) | void控制在多播目标地址的情况下是否可环回给定消息。 | 
| otMessageSetOffset(otMessage *aMessage, uint16_t aOffset) | void设置消息偏移量(以字节为单位)。 | 
| otMessageSetOrigin(otMessage *aMessage, otMessageOrigin aOrigin) | void设置消息来源。 | 
| otMessageWrite(otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength) | int向消息写入字节。 | 
| 结构体 | |
|---|---|
| otBufferInfo | 表示 OpenThread 堆栈使用的不同队列的消息缓冲区信息。 | 
| otMessageQueue | 表示 OpenThread 消息队列。 | 
| otMessageQueueInfo | 表示有关消息队列的信息。 | 
| otMessageSettings | 表示消息设置。 | 
枚举
otMessageOrigin
otMessageOrigin
定义 OpenThread 消息来源。
| 属性 | |
|---|---|
| OT_MESSAGE_ORIGIN_HOST_TRUSTED | 来自主机上可信来源的消息。 | 
| OT_MESSAGE_ORIGIN_HOST_UNTRUSTED | 来自主机上不受信任来源的消息。 | 
| OT_MESSAGE_ORIGIN_THREAD_NETIF | 来自 Thread Netif 的消息。 | 
otMessagePriority
otMessagePriority
定义 OpenThread 消息优先级。
| 属性 | |
|---|---|
| OT_MESSAGE_PRIORITY_HIGH | 高优先级。 | 
| OT_MESSAGE_PRIORITY_LOW | 低优先级。 | 
| OT_MESSAGE_PRIORITY_NORMAL | 普通优先级。 | 
类型定义符
函数
otMessageAppend
otError otMessageAppend( otMessage *aMessage, const void *aBuf, uint16_t aLength )
向消息附加字节。
| 具体说明 | |||||||
|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||
| 返回值 | 
 | ||||||
otMessageFree
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageFree
void otMessageFree( otMessage *aMessage )
释放已分配的消息缓冲区。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageGetBufferInfo
void otMessageGetBufferInfo( otInstance *aInstance, otBufferInfo *aBufferInfo )
获取消息缓冲区信息。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageGetLength
uint16_t otMessageGetLength( const otMessage *aMessage )
获取消息长度(以字节为单位)。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 消息长度(以字节为单位)。 | ||
otMessageFree
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
} otMessageSetLength
otMessageGetOffset
uint16_t otMessageGetOffset( const otMessage *aMessage )
获取消息偏移量(以字节为单位)。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 消息偏移值。 | ||
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageGetOrigin
otMessageOrigin otMessageGetOrigin( const otMessage *aMessage )
获取消息来源。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 消息来源。 | ||
otMessageGetRss
int8_t otMessageGetRss( const otMessage *aMessage )
返回与邮件相关联的平均 RSS(接收信号强度)。
| 具体说明 | |
|---|---|
| 返回值 | 平均 RSS 值(以 dBm 为单位)或 OT_RADIO_RSSI_INVALID(如果没有平均 RSS)可用。 | 
otMessageIsLinkSecurityEnabled
bool otMessageIsLinkSecurityEnabled( const otMessage *aMessage )
指明是否已为邮件启用链接安全。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otMessageIsLoopbackToHostAllowed
bool otMessageIsLoopbackToHostAllowed( const otMessage *aMessage )
指示是否允许将消息环回至主机。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otMessageIsMulticastLoopEnabled
bool otMessageIsMulticastLoopEnabled( otMessage *aMessage )
指示在多播目标地址的情况下,指定消息是否可以环回。
如果将 aMessage 与 otMessageInfo 一起使用,则 otMessageInfo 结构中的 mMulticastLoop 字段优先级更高,且将使用在 aMessage 中设置的值。
此 API 主要与 otIp6Send() 一起使用,后者需要准备好的 IPv6 消息。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otMessageQueueDequeue
void otMessageQueueDequeue( otMessageQueue *aQueue, otMessage *aMessage )
从指定消息队列中移除消息。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageQueueEnqueue
void otMessageQueueEnqueue( otMessageQueue *aQueue, otMessage *aMessage )
将消息添加到给定消息队列的末尾。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageQueueEnqueueAtHead
void otMessageQueueEnqueueAtHead( otMessageQueue *aQueue, otMessage *aMessage )
在指定消息队列的头/前添加消息。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageQueueGetHead
otMessage * otMessageQueueGetHead( otMessageQueue *aQueue )
返回指向队列开头消息的指针。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
| 返回值 | 指向位于队列开头的消息的指针,如果队列为空,则为 NULL。 | ||
otMessageQueueGetNext
otMessage * otMessageQueueGetNext( otMessageQueue *aQueue, const otMessage *aMessage )
通过向前迭代(从头到尾)返回指向队列中下一条消息的指针。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 指向  aMessage之后队列中的下一条消息的指针,如果为aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue`,则返回 NULL。 | ||||
otMessageQueueInit
void otMessageQueueInit( otMessageQueue *aQueue )
初始化消息队列。
对于 otMessageQueue 实例,必须在任何其他 otMessageQueue 函数之前调用一次,并且只能调用一次。如果在初始化 otMessageQueue 之前将其他队列 API 与其他队列 API 一起使用,或者多次初始化,则行为未定义。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otMessageRead
uint16_t otMessageRead( const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength )
从消息中读取字节。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 读取的字节数。 | ||||||||
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite
otMessageResetBufferInfo
void otMessageResetBufferInfo( otInstance *aInstance )
重置 Message Buffer 信息计数器,以跟踪同时使用的缓冲区数上限。
这会重置 otBufferInfo 中的 mMaxUsedBuffers。
| 具体说明 | |||
|---|---|---|---|
| 参数 | 
 | ||
otMessageSetDirectTransmission
void otMessageSetDirectTransmission( otMessage *aMessage, bool aEnabled )
设置/强制使用直接传输转发邮件。
新消息的默认设置为 false。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageSetLength
otError otMessageSetLength( otMessage *aMessage, uint16_t aLength )
设置消息长度(以字节为单位)。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
| 返回值 | 
 | ||||
otMessageFree
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageSetLoopbackToHostAllowed
void otMessageSetLoopbackToHostAllowed( otMessage *aMessage, bool aAllowLoopbackToHost )
设置是否允许消息环回至主机。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageSetMulticastLoopEnabled
void otMessageSetMulticastLoopEnabled( otMessage *aMessage, bool aEnabled )
控制在多播目标地址的情况下是否可环回给定消息。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageSetOffset
void otMessageSetOffset( otMessage *aMessage, uint16_t aOffset )
设置消息偏移量(以字节为单位)。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite
otMessageSetOrigin
void otMessageSetOrigin( otMessage *aMessage, otMessageOrigin aOrigin )
设置消息来源。
| 具体说明 | |||||
|---|---|---|---|---|---|
| 参数 | 
 | ||||
otMessageWrite
int otMessageWrite( otMessage *aMessage, uint16_t aOffset, const void *aBuf, uint16_t aLength )
向消息写入字节。
| 具体说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 参数 | 
 | ||||||||
| 返回值 | 写入的字节数。 | ||||||||
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
资源
OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。