nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
इससे एक ही थ्रेड के लिए इंटरनेट सेवाओं का ऐक्सेस मिलता है. इनमें टाइमर, डोमेन नेम सिस्टम (डीएनएस) रिज़ॉल्यूशन, टीसीपी नेटवर्क ट्रांसपोर्ट, यूडीपी नेटवर्क ट्रांसपोर्ट, और रॉ नेटवर्क ट्रांसपोर्ट शामिल है.
खास जानकारी
बीएसडी/POSIX सॉकेट के लिए इवेंट रेडीनेस की सूचना, फ़ाइल डिस्क्रिप्टर के ज़रिए मैनेज की जाती है. साथ ही, इसे प्लैटफ़ॉर्म के हिसाब से तय करने के लिए, एक ट्रेडिशनल पोल / चुनिंदा प्रोसेस को लागू किया जाता है.
LwIP के लिए, इवेंट रेडीनेस की सूचना को इवेंट / मैसेज और प्लैटफ़ॉर्म- और इवेंट / मैसेज सिस्टम के लिए सिस्टम से जुड़े खास हुक के ज़रिए मैनेज किया जाता है.
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
InetLayer(void)
यह InetLayer डिफ़ॉल्ट कंस्ट्रक्टर है.
|
सार्वजनिक टाइप |
|
---|---|
@5{
|
enum InetLayer ऑब्जेक्ट की मौजूदा स्थिति. |
DNSResolveCompleteFunct
|
typedefDNSResolver::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)
|
|
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
|
वह देश जहां शटडाउन ट्रिगर हुआ है. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
सार्वजनिक एट्रिब्यूट
स्थिति
enum nl::Inet::InetLayer::@5 State
InetLayer ऑब्जेक्ट की मौजूदा स्थिति.
[READ-ONLY] मौजूदा स्थिति.
सार्वजनिक स्टैटिक एट्रिब्यूट
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
सार्वजनिक फ़ंक्शन
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
ऐसी कोई भी डीएनएस क्वेरी रद्द करें जो अब भी चालू हो. जैसे, मैचिंग पूरी होने वाले कॉलबैक और ऐप्लिकेशन की स्थिति के लिए.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
किसी खास आईपी पते के लिए इंटरफ़ेस आइडेंटिफ़ायर पाएं.
अगर इंटरफ़ेस आइडेंटिफ़ायर नहीं मिल पाता है, तो उसे INET_NULL_INTERFACEID पर सेट किया जाता है.
जानकारी | |||||
---|---|---|---|---|---|
पैरामीटर |
|
||||
लौटाए गए सामान |
INET_NO_ERROR बिना किसी शर्त के.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
किसी खास लिंक या इंटरफ़ेस के लिए लिंक का लोकल IPv6 पता पाएं.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
GetPlatformData
void * GetPlatformData( void )
इससे, इंस्टेंस को असाइन किया गया क्लाइंट का ऐसा कोई भी डेटा दिखता है जिसे पहले से सेट किया गया हो.
जानकारी | |
---|---|
लौटाए गए सामान |
क्लाइंट के लिए बना प्लैटफ़ॉर्म डेटा, अगर पहले से सेट किया गया हो; अगर ऐसा नहीं है, तो यह अमान्य है.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
I/O को किसी चुनिंदा कॉल से मैनेज करें.
यह तरीका, हर ऐक्टिव एंडपॉइंट में बचे हुए I/O इवेंट को रजिस्टर करता है. इसके बाद, उन एंडपॉइंट से जुड़े I/O हैंडलिंग फ़ंक्शन को शुरू करता है.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
InetLayer
InetLayer( void )
यह InetLayer डिफ़ॉल्ट कंस्ट्रक्टर है.
यह डेटा से जुड़े कुछ बुनियादी तरीकों को शुरू करता है. हालांकि, InetLayer एक खास इनिशलाइज़र डिज़ाइन पैटर्न का पालन करता है, इसलिए ऑब्जेक्ट का इस्तेमाल करने से पहले Inetlayer::Init तरीके को कॉल करना ज़रूरी है.
शुरू करें
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
यह InetLayer साफ़ तौर पर शुरू करने वाला टूल है.
InetLayer का इस्तेमाल करने से पहले इसे कॉल किया जाना और पूरा होना ज़रूरी है.
कॉलर एक वैकल्पिक संदर्भ तर्क उपलब्ध करा सकता है, जिसे किसी भी प्लैटफ़ॉर्म के खास हुक फ़ंक्शन के ज़रिए पास किया जाएगा. LwIP-आधारित एडैप्टेशन के लिए, यह आम तौर पर InetLayer इंस्टेंस से जुड़े इवेंट सूची का पॉइंटर होगा.
प्लैटफ़ॉर्म अपने प्लैटफ़ॉर्म के खास कॉन्फ़िगरेशन हेडर में INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS का दावा कर सकते हैं और प्लैटफ़ॉर्म::Inetlayer::WillInit और प्लैटफ़ॉर्म::Inetlayer::didInit हुक का इस्तेमाल कर सकते हैं. इससे प्लैटफ़ॉर्म के मुताबिक खास कस्टमाइज़ेशन या InetLayer डेटा एक्सटेंशन को लागू करने में मदद मिलेगी.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
देखें कि दिए गए IPv6 पते और स्थानीय तौर पर कॉन्फ़िगर किए गए किसी IPv6 पते के बीच कोई प्रीफ़िक्स मैच है या नहीं.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
||
लौटाए गए सामान |
सफल होने पर, वैल्यू 'सही' होगी. ऐसा नहीं होने पर 'गलत' होगा.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
किसी खास आईपी वर्शन और प्रोटोकॉल के लिए, एक नया RawEndPoint ऑब्जेक्ट बनाता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
नया TCPEndPoint ऑब्जेक्ट बनाता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
नया TunEndPoint ऑब्जेक्ट बनाता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
नया UDPEndPoint ऑब्जेक्ट बनाता है.
जानकारी | |||||||
---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||
रिटर्न वैल्यू |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
select()
के साथ काम करने के लिए, फ़ाइल डिस्क्रिप्टर के सेट तैयार करें.
जानकारी | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
किसी खास होस्टनेम के लिए आईपी पते का रिज़ॉल्यूशन करें.
जानकारी | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||||
रिटर्न वैल्यू |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
किसी खास होस्टनेम के लिए आईपी पते का रिज़ॉल्यूशन करें.
जानकारी | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||||
रिटर्न वैल्यू |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
किसी खास होस्टनेम के लिए आईपी पते का रिज़ॉल्यूशन करें.
जानकारी | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||||
रिटर्न वैल्यू |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
यह इंस्टेंस के लिए क्लाइंट के हिसाब से खास प्लैटफ़ॉर्म का डेटा सेट करता है, ताकि क्लाइंट प्लैटफ़ॉर्म को बाद में वापस पाया जा सके.
जानकारी | |||
---|---|---|---|
पैरामीटर |
|
बंद है
INET_ERROR Shutdown( void )
यह InetLayer साफ़ तौर पर शुरू होने वाला डिरेंशियलाइज़र है. इसे इंस्टैंशिएट किए गए InetLayer इंस्टेंस को हटाने से पहले कॉल किया जाना चाहिए.
प्लैटफ़ॉर्म अपने प्लैटफ़ॉर्म के खास कॉन्फ़िगरेशन हेडर में INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS का दावा कर सकते हैं और प्लैटफ़ॉर्म::Inetlayer::WillStopdown और प्लैटफ़ॉर्म::Inetlayer::अभियानशटडाउन हुक का इस्तेमाल कर सकते हैं. इनकी मदद से, InetLayer में डेटा एक्सटेंशन या प्लैटफ़ॉर्म के हिसाब से कस्टमाइज़ेशन को आसान बनाने के लिए हुक का इस्तेमाल किया जा सकता है.
जानकारी | |
---|---|
लौटाए गए सामान |
सफल होने पर INET_NO_ERROR; वरना, एक खास गड़बड़ी जो शटडाउन की असफलता की वजह बताती है.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
सार्वजनिक स्टैटिक फ़ंक्शन
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )