DNS – פלטפורמה

המודול הזה כולל את הפשטת הפלטפורמה לשליחת שאילתות DNS רקורסיביות לשרתי DNS במעלה.

סיכום

סוגי Offdef

otPlatDnsUpstreamQuery typedef
סוג אטום זה מייצג עסקת שאילתת DNS במעלה.

פונקציות

otPlatDnsCancelUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn)
void
ביטול עסקה של שאילתות ב-upstream.
otPlatDnsStartUpstreamQuery(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, const otMessage *aQuery)
void
מתחילים עסקת שאילתה ב-upstream.
otPlatDnsUpstreamQueryDone(otInstance *aInstance, otPlatDnsUpstreamQuery *aTxn, otMessage *aResponse)
void
הפלטפורמה קוראת לפונקציה הזו כדי לסיים את שאילתת ה-DNS.

סוגי Offdef

otPlatDnsUpstreamQuery

struct otPlatDnsUpstreamQuery otPlatDnsUpstreamQuery

סוג אטום זה מייצג עסקת שאילתת DNS במעלה.

פונקציות

otPlatDnsCancelUpstreamQuery

void otPlatDnsCancelUpstreamQuery(
  otInstance *aInstance,
  otPlatDnsUpstreamQuery *aTxn
)

ביטול עסקה של שאילתות ב-upstream.

הפלטפורמה צריכה לבצע קריאה ל-otPlatDnsUpstreamQueryDone כדי לשחרר את המשאבים.

פרטים
פרמטרים
[in] aInstance
מבנה המכונות של OpenThread.
[in] aTxn
מצביע לאובייקט אטום של שאילתת DNS אטומה.

otPlatDnsStartUpstreamQuery

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

מתחילים עסקת שאילתה ב-upstream.

  • במקרה של הצלחה (ושגיאות המיוצגות על ידי הודעות פרוטוקול DNS), הפלטפורמה צפויה לבצע קריאה ל-otPlatDnsUpstreamQueryDone.
  • הליבה של OpenThread עשויה לבטל עסקה של שאילתה (אולי תם הזמן הקצוב) על ידי התקשרות ל-otPlatDnsCancelUpstreamQuery. הפלטפורמה לא יכולה להתקשר אל otPlatDnsUpstreamQueryDone בעסקה שבוטלה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונות של OpenThread.
[in] aTxn
מצביע לאובייקט אטום של שאילתת DNS אטומה.
[in] aQuery
מאגר נתונים זמני של המטען הייעודי (payload) של DNS, שיש לשלוח לשרת ה-DNS במעלה.

otPlatDnsUpstreamQueryDone

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

הפלטפורמה קוראת לפונקציה הזו כדי לסיים את שאילתת ה-DNS.

העסקה תשוחרר, כך שהפלטפורמה לא יכולה להתקשר לאותה עסקה פעמיים. הפונקציה הזו מעבירה את הבעלות על aResponse לערימת OpenThread.

פלטפורמה יכולה להעביר nullptr כדי לסגור עסקה ללא תגובה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונות של OpenThread.
[in] aTxn
מצביע לאובייקט אטום של שאילתת DNS אטומה.
[in] aResponse
מאגר אחסון זמני של המטען הייעודי (payload) של תגובת ה-DNS או nullptr כדי לסגור עסקה ללא תגובה.

משאבים

נושאי העזר של OpenThread API מגיעים מקוד המקור, זמינים ב-GitHub. כדי לקבל מידע נוסף או להוסיף מסמכים, יש לעיין בקטע משאבים.