消息
此模块包含用于操纵 OpenThread 消息缓冲区的函数。
摘要
枚举 |
|
---|---|
otMessageOrigin{
|
枚举 定义 OpenThread 消息来源。 |
otMessagePriority{
|
枚举 定义 OpenThread 消息优先级。 |
类型定义符 |
|
---|---|
otBufferInfo
|
typedefstruct otBufferInfo
表示 OpenThread 堆栈使用的不同队列的消息缓冲区信息。 |
otMessage
|
typedefstruct otMessage
OpenThread 消息缓冲区的不透明表示法。 |
otMessageOrigin
|
typedefenum otMessageOrigin
定义 OpenThread 消息来源。 |
otMessagePriority
|
typedefenum otMessagePriority
定义 OpenThread 消息优先级。 |
otMessageQueueInfo
|
typedefstruct otMessageQueueInfo
表示有关消息队列的信息。 |
otMessageSettings
|
typedefstruct 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 if aMessageis not in the queue aQueue`,则返回 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 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源。