訊息

這個模組包含用來處理 OpenThread 訊息緩衝區的函式。

摘要

列舉

otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
列舉
此列舉會定義 OpenThread 訊息的優先順序等級。

Typedefs

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
將位元組寫入訊息。

Structs

otBufferInfo

這個結構代表 OpenThread 堆疊使用不同佇列的訊息緩衝區資訊。

otMessageQueue

這個結構代表 OpenThread 訊息佇列。

otMessageQueueInfo

這個結構代表郵件佇列的相關資訊。

otMessageSettings

這個結構代表郵件設定。

列舉

otMessagePriority

 otMessagePriority

此列舉會定義 OpenThread 訊息的優先順序等級。

屬性
OT_MESSAGE_PRIORITY_HIGH

高優先順序。

OT_MESSAGE_PRIORITY_LOW

低優先級。

OT_MESSAGE_PRIORITY_NORMAL

一般優先等級。

Typedefs

otBufferInfo

struct otBufferInfo otBufferInfo

這個結構代表 OpenThread 堆疊使用不同佇列的訊息緩衝區資訊。

otMessage

struct otMessage otMessage

此類型為 OpenThread 訊息緩衝區不透明的表示法。

otMessagePriority

enum otMessagePriority otMessagePriority

此列舉會定義 OpenThread 訊息的優先順序等級。

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

這個結構代表郵件佇列的相關資訊。

otMessage 設定

struct otMessageSettings otMessageSettings

這個結構代表郵件設定。

函式

附加訊息

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
指向訊息緩衝區的指標。
另請參閱:
otMessage 附加
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
otMessage 附加
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite
otMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

取得郵件偏移 (以位元組為單位)。

說明
參數
[in] aMessage
指向訊息緩衝區的指標。
傳回
訊息偏移值。
另請參閱:
otMessageFree
otMessage 附加
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

這個函式會傳回與訊息相關的平均 RSS (接收訊號強度)。

說明
傳回
在沒有平均 RSS 的情況下,平均 RSS 值 (ddm) 或 OT_RADIO_RSSI_INVALID。

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
訊息佇列的指標。

OTMessage 讀取

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

從訊息中讀取位元組。

說明
參數
[in] aMessage
指向訊息緩衝區的指標。
[in] aOffset
以位元組為單位的位移。
[in] aBuf
指向可讀取訊息位元組的緩衝區指標。
[in] aLength
要讀取的位元組數。
傳回
讀取的位元組數。
另請參閱:
otMessageFree
otMessage 附加
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
otMessage 附加
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetOffset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

設定訊息偏移 (以位元組為單位)。

說明
參數
[in] aMessage
指向訊息緩衝區的指標。
[in] aOffset
以位元組為單位的位移。
另請參閱:
otMessageFree
otMessage 附加
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

TEMessageWrite

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

將位元組寫入訊息。

說明
參數
[in] aMessage
指向訊息緩衝區的指標。
[in] aOffset
以位元組為單位的位移。
[in] aBuf
指向寫入訊息位元組的緩衝區指標。
[in] aLength
寫入的位元組數。
傳回
寫入的位元組數。
另請參閱:
otMessageFree
otMessage 附加
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

資源

OpenThread API 參考主題源自原始碼,可從 GitHub 取得。 如要瞭解詳情或參閱說明文件,請參閱資源