nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

यह InetLayer की इंटरनल क्लास है. यह InetLayer में एसिंक्रोनस डोमेन नेम सिस्टम (डीएनएस) रिज़ॉल्यूशन के लिए, हेल्पर एपीआई उपलब्ध कराती है.

खास जानकारी

ऐप्लिकेशन लेयर के लिए कोई सार्वजनिक इंटरफ़ेस उपलब्ध नहीं है.

सार्वजनिक फ़ंक्शन

Cancel(DNSResolver & resolver)
उस डीएनएस क्वेरी को रद्द करें जो अब भी चालू हो सकती है.
EnqueueRequest(DNSResolver & resolver)
किसी खास होस्टनेम के एसिंक्रोनस आईपी पते रिज़ॉल्यूशन के लिए, DNSResolver ऑब्जेक्ट को सूची में जोड़ें.
Init(InetLayer *inet)
Asynchronous DNS कितनीrSockets क्लास के लिए साफ़ तौर पर शुरू होता है.
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 क्लास का साफ़ तौर पर इस्तेमाल बंद करने वाला टूल है. यह थ्रेड को बंद करने के साथ-साथ म्यूटेक्स और सेमाफ़ोर वैरिएबल को खत्म करने का काम करता है.

सार्वजनिक फ़ंक्शन

अभी नहीं

INET_ERROR Cancel(
  DNSResolver & resolver
)

उस डीएनएस क्वेरी को रद्द करें जो अब भी चालू हो सकती है.

ब्यौरा
पैरामीटर
[in] resolver
DNSResolver ऑब्जेक्ट का रेफ़रंस.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

किसी खास होस्टनेम के एसिंक्रोनस आईपी पते रिज़ॉल्यूशन के लिए, DNSResolver ऑब्जेक्ट को सूची में जोड़ें.

ब्यौरा
पैरामीटर
[in] resolver
DNSResolver ऑब्जेक्ट का रेफ़रंस.
रिटर्न वैल्यू
INET_NO_ERROR
अगर डीएनएस अनुरोध को सूची में शामिल कर लिया गया है.
INET_ERROR_NO_MEMORY
अगर Inet लेयर रिज़ॉल्वर पूल भरा हुआ है.
other
POSIX नेटवर्क या ओएस की सही गड़बड़ी हो.

Init

INET_ERROR Init(
  InetLayer *inet
)

Asynchronous DNS कितनीrSockets क्लास के लिए साफ़ तौर पर शुरू होता है.

यह म्यूटेक्स और सेमाफ़ोर वैरिएबल को शुरू करता है और एसिंक्रोनस डीएनएस रिज़ॉल्यूशन को मैनेज करने के लिए थ्रेड बनाता है.

ब्यौरा
पैरामीटर
[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
सी स्ट्रिंग का पॉइंटर, जो होस्ट के नाम के बारे में क्वेरी करता है.
[in] hostNameLen
होस्ट के नाम की स्ट्रिंग की लंबाई.
[in] options
होस्ट नेम के पते का रिज़ॉल्यूशन होने के तरीके को कंट्रोल करने वाली इंटीजर वैल्यू. मान #DNSOptions सूची से हैं.
[in] maxAddrs
डीएनएस टेबल में सेव किए जाने वाले पतों की ज़्यादा से ज़्यादा संख्या.
[in] addrArray
डीएनएस टेबल का पॉइंटर.
[in] onComplete
डीएनएस अनुरोध पूरा होने पर, कॉलबैक फ़ंक्शन का पॉइंटर.
[in] appState
डीएनएस अनुरोध पूरा होने पर, ऐप्लिकेशन की स्थिति बताने वाला पॉइंटर, onComplete को पास किया जाएगा.
रिटर्न वैल्यू
INET_NO_ERROR
अगर कोई डीएनएस अनुरोध सही तरीके से हैंडल किया जाता है.

बंद करें

INET_ERROR Shutdown(
  void
)

यह AsyncDNSResolverSockets क्लास का साफ़ तौर पर इस्तेमाल बंद करने वाला टूल है. यह थ्रेड को बंद करने के साथ-साथ म्यूटेक्स और सेमाफ़ोर वैरिएबल को खत्म करने का काम करता है.

ब्यौरा
रिटर्न वैल्यू
INET_NO_ERROR
अगर शट डाउन सफल हो जाता है.
other
POSIX नेटवर्क या ओएस की सही गड़बड़ी हो.