DNS - แพลตฟอร์ม

โมดูลนี้ประกอบด้วยกระบวนการ Abstraction ของแพลตฟอร์มสำหรับส่งคำขอ DNS ซ้ำไปยังเซิร์ฟเวอร์ DNS ต้นทาง

สรุป

Typedef

otPlatDnsUpstreamQuery typedef
ประเภททึบนี้หมายถึงธุรกรรมการค้นหา DNS แบบอัปสตรีม

ฟังก์ชัน

otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
void
ยกเลิกธุรกรรมของการค้นหาอัปสตรีม
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
void
เริ่มธุรกรรมการค้นหาอัปสตรีม
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
void
แพลตฟอร์มจะเรียกฟังก์ชันนี้เพื่อดำเนินการค้นหา DNS ให้เสร็จ

Typedef

otPlatDnsUpstreamQuery

struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery

ประเภททึบนี้หมายถึงธุรกรรมการค้นหา DNS แบบอัปสตรีม

ฟังก์ชัน

otPlatDnsCancelUpstreamQuery

void otPlatDnsCancelUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn
)

ยกเลิกธุรกรรมของการค้นหาอัปสตรีม

แพลตฟอร์มต้องเรียกใช้ otPlatDnsUpstreamQueryDone เพื่อปล่อยทรัพยากร

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aTxn
ตัวชี้ไปยังออบเจ็กต์ธุรกรรมคำค้นหา DNS แบบทึบ

otPlatDnsStartUpstreamQuery

void otPlatDnsStartUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn,
  const otMessage *aQuery
)

เริ่มธุรกรรมการค้นหาอัปสตรีม

  • ในกรณีที่สำเร็จ (และข้อผิดพลาดที่แสดงเป็นข้อความโปรโตคอล DNS) แพลตฟอร์มควรเรียกใช้ otPlatDnsUpstreamQueryDone
  • แกนหลักของ OpenThread อาจยกเลิกธุรกรรมการค้นหา (ซึ่งอาจมีการหมดเวลา) ด้วยการเรียกใช้ otPlatDnsCancelUpstreamQuery ซึ่งแพลตฟอร์มนี้ต้องไม่เรียก otPlatDnsUpstreamQueryDone ในธุรกรรมที่ยกเลิกไปแล้ว

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aTxn
ตัวชี้ไปยังออบเจ็กต์ธุรกรรมคำค้นหา DNS แบบทึบ
[in] aQuery
บัฟเฟอร์ข้อความของเพย์โหลด DNS ที่ควรส่งไปยังเซิร์ฟเวอร์ DNS อัปสตรีม

otPlatDnsUpstreamQueryDone

void otPlatDnsUpstreamQueryDone(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn,
  otMessage *aResponse
)

แพลตฟอร์มจะเรียกฟังก์ชันนี้เพื่อดำเนินการค้นหา DNS ให้เสร็จ

ระบบจะปล่อยธุรกรรม ดังนั้นแพลตฟอร์มต้องไม่เรียกใช้ธุรกรรมเดียวกัน 2 ครั้ง ฟังก์ชันนี้จะส่งการเป็นเจ้าของ aResponse ไปยังสแต็ก OpenThread

แพลตฟอร์มสามารถส่งผ่าน Nullptr เพื่อปิดธุรกรรมโดยไม่มีการตอบกลับ

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aTxn
ตัวชี้ไปยังออบเจ็กต์ธุรกรรมคำค้นหา DNS แบบทึบ
[in] aResponse
บัฟเฟอร์ข้อความของเพย์โหลดการตอบสนอง DNS หรือ nullptr เพื่อปิดธุรกรรมโดยไม่มีการตอบกลับ

แหล่งข้อมูล

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