nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

זוהי מחלקה פנימית ל-InetLayer, שמספקת ממשקי API עוזרים לרזולוציית DNS של מערכת שמות דומיין אסינכרונית ב-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 וסמפהפור.

פונקציות ציבוריות

ביטול

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
אם מאגר המקודד של השכבה הפנימית מלא.
other
שגיאה מתאימה ברשת או במערכת ההפעלה של POSIX.

Init

INET_ERROR Init(
  InetLayer *inet
)

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

הפעולה הזו תאתחל את המשתנים mutex ו-semaphore ויוצר את השרשורים לטיפול ברזולוציית ה-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
מצביע למצב האפליקציה שיש להעביר אל onComplete לאחר שבקשת DNS מסתיימת.
מוחזר ערכים
INET_NO_ERROR
אם בקשת DNS מטופלת בהצלחה.

כיבוי

INET_ERROR Shutdown(
  void
)

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

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