ข้อความ

โมดูลนี้มีฟังก์ชันที่จัดการบัฟเฟอร์ข้อความ OpenThread

สรุป

การแจกแจง

otMessageOrigin{
  OT_MESSAGE_ORIGIN_THREAD_NETIF = 0,
  OT_MESSAGE_ORIGIN_HOST_TRUSTED = 1,
  OT_MESSAGE_ORIGIN_HOST_UNTRUSTED = 2
}
enum
กำหนดต้นทางข้อความ OpenThread
otMessagePriority{
  OT_MESSAGE_PRIORITY_LOW = 0,
  OT_MESSAGE_PRIORITY_NORMAL = 1,
  OT_MESSAGE_PRIORITY_HIGH = 2
}
enum
กำหนดลำดับความสำคัญของข้อความ OpenThread

Typedef

otBufferInfo typedef
struct otBufferInfo
แสดงข้อมูลบัฟเฟอร์ข้อความสำหรับคิวต่างๆ ที่สแต็ก OpenThread ใช้
otMessage typedef
struct otMessage
การแสดงบัฟเฟอร์ข้อความ OpenThread แบบทึบ
otMessageOrigin typedef
กำหนดต้นทางข้อความ 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
รับออฟเซ็ตข้อความในหน่วยไบต์
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)
แสดงผลตัวชี้ไปยังข้อความถัดไปในคิวโดยทำซ้ำไปข้างหน้า (จาก head ถึง tail)
otMessageQueueInit(otMessageQueue *aQueue)
void
เริ่มต้นคิวข้อความ
otMessageRead(const otMessage *aMessage, uint16_t aOffset, void *aBuf, uint16_t aLength)
uint16_t
จำนวนไบต์ที่อ่านจากข้อความ
otMessageResetBufferInfo(otInstance *aInstance)
void
รีเซ็ตตัวนับข้อมูลบัฟเฟอร์ข้อความที่ติดตามจำนวนบัฟเฟอร์สูงสุดที่ใช้งานพร้อมกัน
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

ระดับความสำคัญปกติ

Typedef

otBufferInfo

struct otBufferInfo otBufferInfo

แสดงข้อมูลบัฟเฟอร์ข้อความสำหรับคิวต่างๆ ที่สแต็ก OpenThread ใช้

otMessage

struct otMessage otMessage

การแสดงบัฟเฟอร์ข้อความ OpenThread แบบทึบ

otMessageOrigin

enum otMessageOrigin otMessageOrigin

กำหนดต้นทางข้อความ OpenThread

otMessagePriority

enum otMessagePriority otMessagePriority

กำหนดลำดับความสำคัญของข้อความ OpenThread

otMessageQueueInfo

struct otMessageQueueInfo otMessageQueueInfo

แสดงข้อมูลเกี่ยวกับคิวข้อความ

otMessageSettings

struct otMessageSettings otMessageSettings

แสดงการตั้งค่าข้อความ

ฟังก์ชัน

otMessageAppend

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

otMessageFree

void otMessageFree(
  otMessage *aMessage
)

เพิ่มพื้นที่ว่างในบัฟเฟอร์ข้อความที่จัดสรร

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
โปรดดูเพิ่มเติมที่
otMessageAppend
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
otMessageAppend
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageSetLength
ตั้งค่า {17otMessageWrite
ตั้งค่า {17otMessageSetOffsetotMessageSetLength

otMessageGetOffset

uint16_t otMessageGetOffset(
  const otMessage *aMessage
)

รับออฟเซ็ตข้อความในหน่วยไบต์

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
การส่งคืน
ค่าออฟเซ็ตของข้อความ
โปรดดูข้อมูลเพิ่มเติมที่
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageGetOrigin

otMessageOrigin otMessageGetOrigin(
  const otMessage *aMessage
)

รับข้อมูลที่มาของข้อความ

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
การส่งคืน
ที่มาของข้อความ

otMessageGetRss

int8_t otMessageGetRss(
  const otMessage *aMessage
)

แสดงผล RSS โดยเฉลี่ย (ความแรงของสัญญาณที่ได้รับ) ที่เชื่อมโยงกับข้อความ

รายละเอียด
การส่งคืน
ค่า RSS เฉลี่ย (เป็น dBm) หรือ OT_RADIO_RSSI_INVALID หากไม่มี RSS โดยเฉลี่ย

otMessageIsLinkSecurityEnabled

bool otMessageIsLinkSecurityEnabled(
  const otMessage *aMessage
)

ระบุว่ามีการเปิดใช้การรักษาความปลอดภัยสำหรับลิงก์ให้กับข้อความหรือไม่

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
แสดงผลค่า
TRUE
หากเปิดใช้การรักษาความปลอดภัยลิงก์
FALSE
หากไม่ได้เปิดใช้การรักษาความปลอดภัยลิงก์

otMessageIsLoopbackToHostAllowed

bool otMessageIsLoopbackToHostAllowed(
  const otMessage *aMessage
)

ระบุว่าอนุญาตการวนซ้ำข้อความกลับไปยังโฮสต์หรือไม่

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
แสดงผลค่า
TRUE
ข้อความได้รับอนุญาตให้วนซ้ำกลับไปยังโฮสต์หรือไม่
FALSE
หากข้อความไม่ได้รับอนุญาตให้วนซ้ำกลับไปยังโฮสต์

otMessageIsMulticastLoopEnabled

bool otMessageIsMulticastLoopEnabled(
  otMessage *aMessage
)

ระบุว่าข้อความที่ระบุอาจวนซ้ำในกรณีที่เป็นที่อยู่ปลายทางมัลติแคสต์หรือไม่

หากใช้ aMessage ร่วมกับ otMessageInfo ช่อง mMulticastLoop จากโครงสร้าง otMessageInfo จะมีความสำคัญเหนือกว่า และจะใช้แทนค่าที่ตั้งไว้ใน aMessage

โดย API นี้มีจุดประสงค์เพื่อการใช้งานร่วมกับ otIp6Send() ซึ่งคาดว่าจะมีข้อความ IPv6 ที่เตรียมไว้แล้ว

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังข้อความ

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
ตัวชี้ไปยังคิวข้อความ
การส่งคืน
ตัวชี้ไปยังข้อความที่ส่วนหัวของคิว หรือเป็นค่าว่างหากคิวว่างเปล่า

otMessageQueueGetNext

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

แสดงผลตัวชี้ไปยังข้อความถัดไปในคิวโดยทำซ้ำไปข้างหน้า (จาก head ถึง tail)

รายละเอียด
พารามิเตอร์
[in] aQueue
ตัวชี้ไปยังคิวข้อความ
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความปัจจุบัน
การส่งคืน
ตัวชี้ไปยังข้อความถัดไปในคิวหลัง aMessage หรือ NULL หาก aMessage is the tail of queue. NULL is returned ifaMessageis not in the queueaQueue`

otMessageQueueInit

void otMessageQueueInit(
  otMessageQueue *aQueue
)

เริ่มต้นคิวข้อความ

ต้องเรียกเพียงครั้งเดียวสำหรับอินสแตนซ์ otMessageQueue ก่อนฟังก์ชัน otMessageQueue อื่นๆ ไม่มีการกำหนดลักษณะการทำงานนี้ หากมีการใช้ API คิวอื่นๆ กับ otMessageQueue ก่อนที่จะเริ่มต้น หรือมีการใช้ API ของคิวอื่นๆ มากกว่า 1 ครั้ง

รายละเอียด
พารามิเตอร์
[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
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageWrite

otMessageResetBufferInfo

void otMessageResetBufferInfo(
  otInstance *aInstance
)

รีเซ็ตตัวนับข้อมูลบัฟเฟอร์ข้อความที่ติดตามจำนวนบัฟเฟอร์สูงสุดที่ใช้งานพร้อมกัน

การดำเนินการนี้จะรีเซ็ต mMaxUsedBuffers ใน otBufferInfo

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread

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
otMessageAppend
otMessageGetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead
otMessageWrite

otMessageSetLoopbackToHostAllowed

void otMessageSetLoopbackToHostAllowed(
  otMessage *aMessage,
  bool aAllowLoopbackToHost
)

ตั้งค่าว่าจะอนุญาตให้วนซ้ำข้อความกลับไปยังโฮสต์หรือไม่

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
[in] aAllowLoopbackToHost
จะอนุญาตให้ย้ายข้อความกลับไปยังโฮสต์หรือไม่

otMessageSetMulticastLoopEnabled

void otMessageSetMulticastLoopEnabled(
  otMessage *aMessage,
  bool aEnabled
)

ควบคุมว่าข้อความที่ระบุจะวนซ้ำในกรณีที่เป็นที่อยู่ปลายทางมัลติแคสต์หรือไม่

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังข้อความ
[in] aEnabled
ค่าของการกำหนดค่า

otMessageSetOffset

void otMessageSetOffset(
  otMessage *aMessage,
  uint16_t aOffset
)

ตั้งค่าออฟเซ็ตข้อความเป็นไบต์

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
[in] aOffset
ออฟเซ็ตในหน่วยไบต์
โปรดดูข้อมูลเพิ่มเติมที่
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageRead
otMessageWrite

otMessageSetOrigin

void otMessageSetOrigin(
  otMessage *aMessage,
  otMessageOrigin aOrigin
)

ตั้งค่าที่มาของข้อความ

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
[in] aOrigin
ที่มาของข้อความ

otMessageWrite

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

เขียนไบต์ในข้อความ

รายละเอียด
พารามิเตอร์
[in] aMessage
ตัวชี้ไปยังบัฟเฟอร์ข้อความ
[in] aOffset
ออฟเซ็ตในหน่วยไบต์
[in] aBuf
ตัวชี้ไปยังบัฟเฟอร์ที่มีการเขียนไบต์ของข้อความ
[in] aLength
จำนวนไบต์ที่จะเขียน
การส่งคืน
จำนวนไบต์ที่เขียนแล้ว
โปรดดูเพิ่มเติมที่
otMessageFree
otMessageAppend
otMessageGetLength
otMessageSetLength
otMessageGetOffset
otMessageSetOffset
otMessageRead

แหล่งข้อมูล

หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล