nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

זוהי מחלקה פנימית ל-InetLayer שמספקת ממשקי API של עזרה לרזולוציית DNS (Asynchronous Domain Name System) ב-InetLayer.

סיכום

אין ממשק ציבורי זמין לשכבת האפליקציה.

תפקידים ציבוריים

Cancel(DNSResolver & resolver)
מבטלים שאילתת DNS שטרם טופלה שעשויה להיות עדיין פעילה.
EnqueueRequest(DNSResolver & resolver)
הצב אובייקט DNSResolver לתור עבור רזולוציה של כתובת IP אסינכרונית של שם מארח שצוין.
Init(InetLayer *inet)
האתחול המפורש עבור המחלקה AsynchronousDNSresolverSockets.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
השיטה הזו מכינה אובייקט DNSResolver לפני רזולוציה אסינכרונית.
Shutdown(void)
זהו הכלי לביטול האתחול המפורש של המחלקה AsyncDNSResolverSockets והוא מטפל בכיבוי ה-threads וב השמדת המשתנים mutex ו-semaphore.

תפקידים ציבוריים

ביטול

INET_ERROR Cancel(
  DNSResolver & resolver
)

מבטלים שאילתת DNS שטרם טופלה שעשויה להיות עדיין פעילה.

פרטים
פרמטרים
[in] resolver
הפניה לאובייקט DNSResolver.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

הצב אובייקט DNSResolver לתור עבור רזולוציה של כתובת IP אסינכרונית של שם מארח שצוין.

פרטים
פרמטרים
[in] resolver
הפניה לאובייקט DNSResolver.
ערכים מוחזרים
INET_NO_ERROR
אם בקשת DNS תוזמנה בהצלחה לתור.
INET_ERROR_NO_MEMORY
אם מאגר המקודדים של שכבת Inet מלא.
other
שגיאה מתאימה של רשת POSIX או מערכת הפעלה.

הפעלה

INET_ERROR Init(
  InetLayer *inet
)

האתחול המפורש עבור המחלקה AsynchronousDNSresolverSockets.

פעולה זו מפעילה את משתני ה-mutex וה-semaphore ויוצרת את ה-threads לטיפול ברזולוציית ה-DNS האסינכרונית.

פרטים
פרמטרים
[in] aInet
מצביע לאובייקט InetLayer.
ערכים מוחזרים
INET_NO_ERROR
אם האתחול הצליח.
other
שגיאה מתאימה של רשת POSIX או מערכת הפעלה.

PrepareDNSResolver

INET_ERROR PrepareDNSResolver(
  DNSResolver & resolver,
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolver::OnResolveCompleteFunct onComplete,
  void *appState
)

השיטה הזו מכינה אובייקט DNSResolver לפני רזולוציה אסינכרונית.

פרטים
פרמטרים
[in] resolver
הפניה לאובייקט DNSResolver שהוקצה.
[in] hostName
מצביע למחרוזת C שמייצגת את שם המארח שיש לשלוח אליו שאילתה.
[in] hostNameLen
אורך המחרוזת של שם המארח.
[in] options
ערך מספר שלם השולט באופן שבו מתבצע פענוח הכתובת של שם המארח. הערכים מגיעים מספירת #DNSOptions.
[in] maxAddrs
המספר המקסימלי של כתובות לשמירה בטבלת ה-DNS.
[in] addrArray
מצביע לטבלת ה-DNS.
[in] onComplete
הפניה לפונקציית קריאה חוזרת כשבקשת DNS השלמה.
[in] appState
מצביע על מצב האפליקציה שיש להעביר אליה ב-complete כשבקשת DNS השלמה.
ערכים מוחזרים
INET_NO_ERROR
אם בקשת DNS תטופל בהצלחה.

כיבוי

INET_ERROR Shutdown(
  void
)

זהו הכלי לביטול האתחול המפורש של המחלקה AsyncDNSResolverSockets והוא מטפל בכיבוי ה-threads וב השמדת המשתנים mutex ו-semaphore.

פרטים
ערכים מוחזרים
INET_NO_ERROR
אם הכיבוי בוצע בהצלחה.
other
שגיאה מתאימה של רשת POSIX או מערכת הפעלה.