nl::इंटरनेट::InetLayer

#include <src/inet/InetLayer.h>

इससे एक थ्रेड के लिए टाइमर, डोमेन नेम सिस्टम (डीएनएस) रिज़ॉल्यूशन, टीसीपी नेटवर्क ट्रांसपोर्ट, यूडीपी नेटवर्क ट्रांसपोर्ट, और रॉ नेटवर्क ट्रांसपोर्ट समेत इंटरनेट सेवाओं का ऐक्सेस मिलता है.

खास जानकारी

BSD/POSIX सॉकेट के लिए, इवेंट की तैयारी से जुड़ी सूचना को फ़ाइल डिस्क्रिप्टर के ज़रिए और एक परंपरागत पोल / प्लैटफ़ॉर्म के मुताबिक बनाने में चुनिंदा तरीकों से लागू किया जाता है.

LwIP के लिए, इवेंट रेडीनेस सूचना को इवेंट / मैसेज और प्लैटफ़ॉर्म के आधार पर मैनेज किया जाता है. साथ ही, इसे इवेंट / मैसेज सिस्टम के लिए खास हुक से भी मैनेज किया जाता है.

कंस्ट्रक्टर और कंस्ट्रक्टर

InetLayer(void)
यह InetLayer डिफ़ॉल्ट कंस्ट्रक्टर है.

सार्वजनिक प्रकार

@5{
  kState_NotInitialized = 0,
  kState_Initialized = 1,
  kState_ShutdownInProgress = 2
}
enum
InetLayer ऑब्जेक्ट की मौजूदा स्थिति.
DNSResolveCompleteFunct टाइपडेफ़
DNSResolver::OnResolveCompleteFunct

सार्वजनिक विशेषताएं

State
enum nl::Inet::InetLayer::@5
InetLayer ऑब्जेक्ट की मौजूदा स्थिति.

सार्वजनिक स्टैटिक विशेषताएं

sInetEventHandlerDelegate

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

CanEnqueueDroppableEvent(void)
bool
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
void
चालू हो सकने वाली किसी भी कॉलबैक क्वेरी और ऐप्लिकेशन स्थिति के लिए, कोई भी बकाया डीएनएस क्वेरी रद्द करें.
DroppableEventDequeued(void)
void
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
दिए गए आईपी पते के लिए इंटरफ़ेस पहचानकर्ता पाएं.
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
किसी खास लिंक या इंटरफ़ेस के लिए लिंक स्थानीय IPv6 पता पाएं.
GetPlatformData(void)
void *
यह इंस्टेंस को असाइन किया गया सभी क्लाइंट का खास प्लैटफ़ॉर्म डेटा दिखाता है, अगर यह पहले से सेट किया गया हो.
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
void
चुने गए कॉल से I/O को हैंडल करें.
Init(Weave::System::Layer & aSystemLayer, void *aContext)
यह InetLayer एक्सप्लिसिट शुरुआती है.
InitQueueLimiter(void)
MatchLocalIPv6Subnet(const IPAddress & addr)
bool
देखें कि तय किए गए IPv6 पते और स्थानीय रूप से कॉन्फ़िगर किए गए IPv6 पतों के बीच कोई प्रीफ़िक्स मैच हो या नहीं.
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
किसी खास आईपी वर्शन और प्रोटोकॉल के लिए, एक नया RawEndPoint ऑब्जेक्ट बनाता है.
NewTCPEndPoint(TCPEndPoint **retEndPoint)
नया TCPEndPoint ऑब्जेक्ट बनाता है.
NewTunEndPoint(TunEndPoint **retEndPoint)
नया TunEndPoint ऑब्जेक्ट बनाता है.
NewUDPEndPoint(UDPEndPoint **retEndPoint)
नया UDPEndPoint ऑब्जेक्ट बनाता है.
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
void
select() के साथ काम करने के लिए फ़ाइल डिस्क्रिप्टर के सेट तैयार करें.
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
किसी तय होस्टनेम का आईपी पता समाधान करें.
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
किसी तय होस्टनेम का आईपी पता समाधान करें.
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
किसी तय होस्टनेम का आईपी पता समाधान करें.
SetPlatformData(void *aPlatformData)
void
यह, क्लाइंट के हिसाब से प्लैटफ़ॉर्म का खास डेटा सेट करता है, ताकि क्लाइंट प्लैटफ़ॉर्म के ज़रिए बाद में उसे वापस पाया जा सके.
Shutdown(void)
यह InetLayer एक्सप्लिसिट शुरुआती है. इसे इंस्टैंशिएट किए गए InetLayer इंस्टेंस को नष्ट करने से पहले कॉल किया जाना चाहिए.
SystemLayer(void) const

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

HandleInetLayerEvent(Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument)
Weave::System::Error
IsDroppableEvent(Weave::System::EventType aType)
bool
UpdateSnapshot(nl::Weave::System::Stats::Snapshot & aSnapshot)
void

सार्वजनिक प्रकार

@5

 @5

InetLayer ऑब्जेक्ट की मौजूदा स्थिति.

प्रॉपर्टी
kState_Initialized

शुरू होने की स्थिति.

kState_NotInitialized

शुरू नहीं होने की स्थिति.

kState_ShutdownInProgress

वह स्थिति जहां शट डाउन ट्रिगर किया गया है.

डीएनएस रिज़ॉल्यूशन पूरा करें

DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct

सार्वजनिक विशेषताएं

राज्य

enum nl::Inet::InetLayer::@5 State

InetLayer ऑब्जेक्ट की मौजूदा स्थिति.

[रीड-ओनली] मौजूदा स्थिति.

सार्वजनिक स्टैटिक विशेषताएं

sInetEventHandlerDelegate

Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate

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

CanEnqueuedroppableEvent

bool CanEnqueueDroppableEvent(
  void
)

समाधान समाधान होस्ट पता रद्द करें

void CancelResolveHostAddress(
  DNSResolveCompleteFunct onComplete,
  void *appState
)

चालू हो सकने वाली किसी भी कॉलबैक क्वेरी और ऐप्लिकेशन स्थिति के लिए, कोई भी बकाया डीएनएस क्वेरी रद्द करें.

ब्यौरा
पैरामीटर
[in] onComplete
डीएनएस अनुरोध के पूरा होने पर, कॉलबैक फ़ंक्शन का पॉइंटर.
[in] appState
किसी ऐप्लिकेशन स्थिति ऑब्जेक्ट का पॉइंटर, जिसे तर्क के रूप में कॉलबैक फ़ंक्शन को भेजा जाना चाहिए.

ड्रॉप किया जा सकने वाला इवेंट चुना गया

void DroppableEventDequeued(
  void
)

GetInterfaceFromAddr

INET_ERROR GetInterfaceFromAddr(
  const IPAddress & addr,
  InterfaceId & intfId
)

दिए गए आईपी पते के लिए इंटरफ़ेस पहचानकर्ता पाएं.

अगर इंटरफ़ेस पहचानकर्ता लिया नहीं जा सकता है, तो इसे INET_NULL_INTERLOGOID पर सेट किया जाता है.

ब्यौरा
पैरामीटर
[in] addr
IPAddress ऑब्जेक्ट का रेफ़रंस.
[out] intfId
InterfaceId ऑब्जेक्ट का रेफ़रंस.
लौटाए गए सामान
बिना किसी शर्त के INET_NO_ERROR.

GetLinkLocalAddr

INET_ERROR GetLinkLocalAddr(
  InterfaceId link,
  IPAddress *llAddr
)

किसी खास लिंक या इंटरफ़ेस के लिए लिंक स्थानीय IPv6 पता पाएं.

ब्यौरा
पैरामीटर
[in] link
वह इंटरफ़ेस जिसके लिए स्थानीय IPv6 पते की खोज की जा रही है.
[out] llAddr
लिंक के लिए स्थानीय IPv6 पता.
सामान लौटाने की वैल्यू
INET_ERROR_NOT_IMPLEMENTED
अगर IPv6 काम नहीं करता है.
INET_ERROR_BAD_ARGS
अगर लिंक स्थानीय पता NULL है.
INET_ERROR_ADDRESS_NOT_FOUND
अगर लिंक में कोई पता कॉन्फ़िगर नहीं किया गया है.
INET_NO_ERROR
सफल रहा.

GetPlatformData

void * GetPlatformData(
  void
)

यह इंस्टेंस को असाइन किया गया सभी क्लाइंट का खास प्लैटफ़ॉर्म डेटा दिखाता है, अगर यह पहले से सेट किया गया हो.

ब्यौरा
लौटाए गए सामान
क्लाइंट का खास प्लैटफ़ॉर्म डेटा, अगर उसे पहले से सेट किया गया हो; अगर ऐसा नहीं है, तो शून्य है.

नतीजे को हैंडल करना

void HandleSelectResult(
  int selectRes,
  fd_set *readfds,
  fd_set *writefds,
  fd_set *exceptfds
)

चुने गए कॉल से I/O को हैंडल करें.

यह तरीका हर चालू एंडपॉइंट में रुके हुए I/O इवेंट को रजिस्टर करता है और फिर उन एंडपॉइंट के लिए संबंधित I/O हैंडलिंग फ़ंक्शन को शुरू करता है.

ब्यौरा
पैरामीटर
[in] selectRes
चुने गए कॉल की रिटर्न वैल्यू.
[in] readfds
रीड किए गए फ़ाइल डिस्क्रिप्टर के सेट का पॉइंटर.
[in] writefds
लिखने के लिए फ़ाइल डिस्क्रिप्टर के सेट का पॉइंटर.
[in] exceptfds
गड़बड़ियों वाले फ़ाइल डिस्क्रिप्टर के सेट का पॉइंटर.

इनेटलेयर

 InetLayer(
  void
)

यह InetLayer डिफ़ॉल्ट कंस्ट्रक्टर है.

यह कुछ बुनियादी डेटा सदस्य शुरू करता है; हालांकि, InetLayer एक साफ़ तौर पर शुरुआती डिज़ाइन पैटर्न को फ़ॉलो करता है. इसलिए, ऑब्जेक्ट का इस्तेमाल करने से पहले, InetLayer::Init मेथड को कॉल करना ज़रूरी है.

इनिट

INET_ERROR Init(
  Weave::System::Layer & aSystemLayer,
  void *aContext
)

यह InetLayer एक्सप्लिसिट शुरुआती है.

इसे InetLayer का इस्तेमाल करने से पहले, कॉल किया जाना और पूरा करना ज़रूरी है.

कॉल करने वाला व्यक्ति एक वैकल्पिक कॉन्टेक्स्ट आर्ग्युमेंट दे सकता है, जिसे किसी भी प्लैटफ़ॉर्म के लिए हुक फ़ंक्शन के ज़रिए वापस पास किया जाएगा. LwIP पर आधारित ऑप्टिमाइज़ेशन के लिए, आम तौर पर यह InetLayer इंस्टेंस से जुड़े इवेंट की सूची की ओर इशारा करेगा.

प्लैटफ़ॉर्म, खास तौर पर उनके प्लैटफ़ॉर्म के कॉन्फ़िगरेशन वाले हेडर में INET_CONFIG_WITH_OVERRIDE_PLATFORM_XTOR_FUNCS पर दावा कर सकते हैं और प्लैटफ़ॉर्म::InetLayer::WiInit और प्लैटफ़ॉर्म::InetLayer::didInit हुक की मदद से, प्लैटफ़ॉर्म के हिसाब से बनाए गए ऑप्टिमाइज़ेशन या डेटा एक्सटेंशन को InetLayer पर चालू कर सकते हैं.

ब्यौरा
पैरामीटर
[in] aSystemLayer
वीव सिस्टम लेयर का एक ज़रूरी इंस्टेंस पहले ही शुरू हो चुका है.
[in] aContext
एक वैकल्पिक कॉन्टेक्स्ट आर्ग्युमेंट, जो प्लैटफ़ॉर्म पर लागू किसी भी हुक फ़ंक्शन की मदद से, कॉल करने वाले (कॉलर) को वापस भेजा जाएगा.
सामान लौटाने की वैल्यू
INET_ERROR_INCORRECT_STATE
अगर InetLayer गलत स्थिति में है.
INET_ERROR_NO_MEMORY
अगर नए अनुरोध के लिए InetLayer, इस अनुरोध के लिए रिसॉर्स खत्म हो जाए.
other
प्लैटफ़ॉर्म के हिसाब से गड़बड़ियां, जिनके शुरू न होने की वजह बताती है.
INET_NO_ERROR
सफल रहा.

InitQueuelimiter

INET_ERROR InitQueueLimiter(
  void
)

MatchLocalIPv6सबनेट

bool MatchLocalIPv6Subnet(
  const IPAddress & addr
)

देखें कि तय किए गए IPv6 पते और स्थानीय रूप से कॉन्फ़िगर किए गए IPv6 पतों के बीच कोई प्रीफ़िक्स मैच हो या नहीं.

ब्यौरा
पैरामीटर
[in] addr
उपसर्ग-मिलान की जांच करने के लिए IPv6 पता.
लौटाए गए सामान
अगर सही मेल मिलता है, तो सही है, नहीं तो गलत है.

न्यूआरपॉइंट

INET_ERROR NewRawEndPoint(
  IPVersion ipVer,
  IPProtocol ipProto,
  RawEndPoint **retEndPoint
)

किसी खास आईपी वर्शन और प्रोटोकॉल के लिए, एक नया RawEndPoint ऑब्जेक्ट बनाता है.

ब्यौरा
पैरामीटर
[in] ipVer
IPv4 या IPv6.
[in] ipProto
आईपी फ़ैमिली में मौजूद प्रोटोकॉल (उदाहरण के लिए, ICMPv4 या ICMPv6).
[in,out] retEndPoint
RawEndPoint ऑब्जेक्ट का पॉइंटर, जो ऑब्जेक्ट बनाने के बाद रिटर्न रिटर्न पैरामीटर है. अगर बिल्ड नहीं हो पाता, तो *retEndPoint शून्य है.
सामान लौटाने की वैल्यू
INET_ERROR_INCORRECT_STATE
अगर InetLayer ऑब्जेक्ट शुरू नहीं किया गया है.
INET_ERROR_NO_ENDPOINTS
अगर InetLayerRawEndPoint पूल भर गया है और कोई नया एंडपॉइंट नहीं बनाया जा सकता.
INET_NO_ERROR
सफल रहा.

न्यूटीसीपी एंडपॉइंट

INET_ERROR NewTCPEndPoint(
  TCPEndPoint **retEndPoint
)

नया TCPEndPoint ऑब्जेक्ट बनाता है.

ब्यौरा
पैरामीटर
[in,out] retEndPoint
TCPEndPoint ऑब्जेक्ट के पॉइंटर का ऑब्जेक्ट जो ऑब्जेक्ट बनाने के बाद, रिटर्न पैरामीटर है. अगर बिल्ड नहीं हो पाता, तो *retEndPoint शून्य है.
सामान लौटाने की वैल्यू
INET_ERROR_INCORRECT_STATE
अगर InetLayer ऑब्जेक्ट शुरू नहीं किया गया है.
INET_ERROR_NO_ENDPOINTS
अगर InetLayerTCPEndPoint पूल भर गया है और कोई नया एंडपॉइंट नहीं बनाया जा सकता.
INET_NO_ERROR
सफल रहा.

न्यूटन एंडपॉइंट

INET_ERROR NewTunEndPoint(
  TunEndPoint **retEndPoint
)

नया TunEndPoint ऑब्जेक्ट बनाता है.

ब्यौरा
पैरामीटर
[in,out] retEndPoint
TunEndPoint ऑब्जेक्ट का पॉइंटर, जो ऑब्जेक्ट बनाने के बाद रिटर्न रिटर्न पैरामीटर है. अगर बिल्ड नहीं हो पाता, तो *retEndPoint शून्य है.
सामान लौटाने की वैल्यू
INET_ERROR_INCORRECT_STATE
अगर InetLayer ऑब्जेक्ट शुरू नहीं किया गया है.
INET_ERROR_NO_ENDPOINTS
अगर InetLayerTunEndPoint पूल भर गया है और कोई नया पूल नहीं बनाया जा सकता.
INET_NO_ERROR
सफल रहा.

न्यूयूडीपीएंडपॉइंट

INET_ERROR NewUDPEndPoint(
  UDPEndPoint **retEndPoint
)

नया UDPEndPoint ऑब्जेक्ट बनाता है.

ब्यौरा
पैरामीटर
[in,out] retEndPoint
UDPEndPoint ऑब्जेक्ट के पॉइंटर का ऑब्जेक्ट, जो ऑब्जेक्ट बनाने के बाद वापस आने वाला पैरामीटर है. अगर बिल्ड नहीं हो पाता, तो *retEndPoint शून्य है.
सामान लौटाने की वैल्यू
INET_ERROR_INCORRECT_STATE
अगर InetLayer ऑब्जेक्ट शुरू नहीं किया गया है.
INET_ERROR_NO_ENDPOINTS
अगर InetLayerUDPEndPoint पूल भर गया है और कोई नया एंडपॉइंट नहीं बनाया जा सकता.
INET_NO_ERROR
सफल रहा.

तैयार करें

void PrepareSelect(
  int & nfds,
  fd_set *readfds,
  fd_set *writefds,
  fd_set *exceptfds,
  struct timeval & sleepTime
)

select() के साथ काम करने के लिए फ़ाइल डिस्क्रिप्टर के सेट तैयार करें.

ब्यौरा
पैरामीटर
[out] nfds
फ़ाइल डिस्क्रिप्टर सेट में फ़ाइल डिस्क्रिप्टर की रेंज.
[in] readfds
पढ़ने लायक फ़ाइल डिस्क्रिप्टर के सेट का पॉइंटर.
[in] writefds
लिखने लायक फ़ाइल डिस्क्रिप्टर के सेट का पॉइंटर.
[in] exceptfds
गड़बड़ियों वाले फ़ाइल डिस्क्रिप्टर के सेट का पॉइंटर.
[in] sleepTimeTV
संरचना में एक सूचक, जो तय करता है कि चुना हुआ समय कितनी देर तक सोना चाहिए

SolveHost का पता

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

किसी तय होस्टनेम का आईपी पता समाधान करें.

ब्यौरा
पैरामीटर
[in] hostName
बिना NULL वाली स्ट्रिंग की स्ट्रिंग का पॉइंटर, जिसमें होस्ट के नाम के बारे में क्वेरी की जाती है.
[in] hostNameLen
होस्ट के नाम की स्ट्रिंग की लंबाई.
[in] options
एक पूर्णांक वैल्यू, जो यह कंट्रोल करती है कि होस्ट के नाम का रिज़ॉल्यूशन कैसा होगा.
                    Value should be one of the address family values from the
                    #DNSOptions enumeration:

                    #kDNSOption_AddrFamily_Any
                    #kDNSOption_AddrFamily_IPv4Only
                    #kDNSOption_AddrFamily_IPv6Only
                    #kDNSOption_AddrFamily_IPv4Preferred
                    #kDNSOption_AddrFamily_IPv6Preferred
[in] maxAddrs
डीएनएस टेबल में सेव किए जाने वाले पतों की ज़्यादा से ज़्यादा संख्या.
[in] addrArray
डीएनएस टेबल का पॉइंटर.
[in] onComplete
डीएनएस अनुरोध के पूरा होने पर, कॉलबैक फ़ंक्शन का पॉइंटर.
[in] appState
डीएनएस अनुरोध के पूरा होने पर oncomplete को भेजे जाने वाले ऐप्लिकेशन की स्थिति का पॉइंटर.
सामान लौटाने की वैल्यू
INET_NO_ERROR
अगर डीएनएस अनुरोध को सही तरीके से हैंडल किया जाता है.
INET_ERROR_NO_MEMORY
अगर इनेट लेयर रिज़ॉल्वर पूल भर गया है.
INET_ERROR_HOST_NAME_TOO_LONG
अगर अनुरोध किया गया होस्ट नाम बहुत लंबा है.
INET_ERROR_HOST_NOT_FOUND
अगर अनुरोध करने वाले किसी होस्ट के नाम का समाधान किसी पते पर नहीं किया जा सका.
INET_ERROR_DNS_TRY_AGAIN
अगर नाम सर्वर ने कुछ समय के लिए गड़बड़ी का संकेत दिया है, तो बाद में कोशिश करें.
INET_ERROR_DNS_NO_RECOVERY
अगर किसी नाम सर्वर को ऐसी गड़बड़ी मिली है जिसे ठीक नहीं किया जा सकता.
INET_ERROR_NOT_IMPLEMENTED
अगर दिए गए प्लैटफ़ॉर्म पर डीएनएस रिज़ॉल्यूशन चालू नहीं है.
other
डीएनएस रिज़ॉल्वर लागू करने से जुड़ा POSIX नेटवर्क या ओएस की गड़बड़ी.

SolveHost का पता

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

किसी तय होस्टनेम का आईपी पता समाधान करें.

ब्यौरा
पैरामीटर
[in] hostName
बिना NULL वाली स्ट्रिंग की स्ट्रिंग का पॉइंटर, जिसमें होस्ट के नाम के बारे में क्वेरी की जाती है.
[in] hostNameLen
होस्ट के नाम की स्ट्रिंग की लंबाई.
[in] maxAddrs
डीएनएस टेबल में सेव किए जाने वाले पतों की ज़्यादा से ज़्यादा संख्या.
[in] addrArray
डीएनएस टेबल का पॉइंटर.
[in] onComplete
डीएनएस अनुरोध के पूरा होने पर, कॉलबैक फ़ंक्शन का पॉइंटर.
[in] appState
डीएनएस अनुरोध के पूरा होने पर oncomplete को भेजे जाने वाले ऐप्लिकेशन की स्थिति का पॉइंटर.
सामान लौटाने की वैल्यू
INET_NO_ERROR
अगर डीएनएस अनुरोध को सही तरीके से हैंडल किया जाता है.
INET_ERROR_NO_MEMORY
अगर इनेट लेयर रिज़ॉल्वर पूल भर गया है.
INET_ERROR_HOST_NAME_TOO_LONG
अगर अनुरोध किया गया होस्ट नाम बहुत लंबा है.
INET_ERROR_HOST_NOT_FOUND
अगर अनुरोध करने वाले किसी होस्ट के नाम का समाधान किसी पते पर नहीं किया जा सका.
INET_ERROR_DNS_TRY_AGAIN
अगर नाम सर्वर ने कुछ समय के लिए गड़बड़ी का संकेत दिया है, तो बाद में कोशिश करें.
INET_ERROR_DNS_NO_RECOVERY
अगर किसी नाम सर्वर को ऐसी गड़बड़ी मिली है जिसे ठीक नहीं किया जा सकता.
INET_ERROR_NOT_IMPLEMENTED
अगर दिए गए प्लैटफ़ॉर्म पर डीएनएस रिज़ॉल्यूशन चालू नहीं है.
other
डीएनएस रिज़ॉल्वर लागू करने से जुड़ा POSIX नेटवर्क या ओएस की गड़बड़ी.

SolveHost का पता

INET_ERROR ResolveHostAddress(
  const char *hostName,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolveCompleteFunct onComplete,
  void *appState
)

किसी तय होस्टनेम का आईपी पता समाधान करें.

ब्यौरा
पैरामीटर
[in] hostName
NULL-टर्मिनेटेड C स्ट्रिंग का पॉइंटर, जिसमें होस्ट के नाम के बारे में क्वेरी की जाती है.
[in] maxAddrs
डीएनएस टेबल में सेव किए जाने वाले पतों की ज़्यादा से ज़्यादा संख्या.
[in] addrArray
डीएनएस टेबल का पॉइंटर.
[in] onComplete
डीएनएस अनुरोध के पूरा होने पर, कॉलबैक फ़ंक्शन का पॉइंटर.
[in] appState
डीएनएस अनुरोध के पूरा होने पर oncomplete को भेजे जाने वाले ऐप्लिकेशन की स्थिति का पॉइंटर.
सामान लौटाने की वैल्यू
INET_NO_ERROR
अगर डीएनएस अनुरोध को सही तरीके से हैंडल किया जाता है.
INET_ERROR_NO_MEMORY
अगर इनेट लेयर रिज़ॉल्वर पूल भर गया है.
INET_ERROR_HOST_NAME_TOO_LONG
अगर अनुरोध किया गया होस्ट नाम बहुत लंबा है.
INET_ERROR_HOST_NOT_FOUND
अगर अनुरोध करने वाले किसी होस्ट के नाम का समाधान किसी पते पर नहीं किया जा सका.
INET_ERROR_DNS_TRY_AGAIN
अगर नाम सर्वर ने कुछ समय के लिए गड़बड़ी का संकेत दिया है, तो बाद में कोशिश करें.
INET_ERROR_DNS_NO_RECOVERY
अगर किसी नाम सर्वर को ऐसी गड़बड़ी मिली है जिसे ठीक नहीं किया जा सकता.
INET_ERROR_NOT_IMPLEMENTED
अगर दिए गए प्लैटफ़ॉर्म पर डीएनएस रिज़ॉल्यूशन चालू नहीं है.
other
डीएनएस रिज़ॉल्वर लागू करने से जुड़ा POSIX नेटवर्क या ओएस की गड़बड़ी.

setPlatformData

void SetPlatformData(
  void *aPlatformData
)

यह, क्लाइंट के हिसाब से प्लैटफ़ॉर्म का खास डेटा सेट करता है, ताकि क्लाइंट प्लैटफ़ॉर्म के ज़रिए बाद में उसे वापस पाया जा सके.

ब्यौरा
पैरामीटर
[in] aPlatformData
सेट करने के लिए क्लाइंट का खास प्लैटफ़ॉर्म डेटा.

शटडाउन

INET_ERROR Shutdown(
  void
)

यह InetLayer एक्सप्लिसिट शुरुआती है. इसे इंस्टैंशिएट किए गए InetLayer इंस्टेंस को नष्ट करने से पहले कॉल किया जाना चाहिए.

प्लैटफ़ॉर्म, खास तौर पर उनके प्लैटफ़ॉर्म के कॉन्फ़िगरेशन कॉन्फ़िगरेशन में INET_CONFIG_WITH_OVERRIDE_PLATFORM_XTOR_FUNCS का दावा कर सकते हैं और प्लैटफ़ॉर्म::InetLayer::WiShutdown और प्लैटफ़ॉर्म::InetLayer::DShutdown हुक की मदद से प्लैटफ़ॉर्म के खास कस्टमाइज़ेशन या डेटा एक्सटेंशन को InetLayer पर चालू कर सकते हैं.

ब्यौरा
लौटाए गए सामान
पूरा होने में INET_NO_ERROR; नहीं तो, एक खास गड़बड़ी है जो बंद करने की वजह बताती है.

सिस्टम लेयर

Weave::System::Layer * SystemLayer(
  void
) const 

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

HandleInetLayerEvent

Weave::System::Error HandleInetLayerEvent(
  Weave::System::Object & aTarget,
  Weave::System::EventType aEventType,
  uintptr_t aArgument
)

क्या ड्रॉपडाउन का इवेंट

bool IsDroppableEvent(
  Weave::System::EventType aType
)

अपडेट स्नैपशॉट

void UpdateSnapshot(
  nl::Weave::System::Stats::Snapshot & aSnapshot
)