nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
इससे एक ही थ्रेड के लिए इंटरनेट सेवाओं का ऐक्सेस मिलता है. इनमें टाइमर, डोमेन नेम सिस्टम (डीएनएस) रिज़ॉल्यूशन, टीसीपी नेटवर्क ट्रांसपोर्ट, यूडीपी नेटवर्क ट्रांसपोर्ट, और रॉ नेटवर्क ट्रांसपोर्ट शामिल हैं.
खास जानकारी
BSD/POSIX Sockets के लिए, इवेंट के लिए तैयार रहने की सूचना को फ़ाइल डिस्क्रिप्टर से मैनेज किया जाता है. साथ ही, इसे प्लैटफ़ॉर्म के हिसाब से सेट करने पर पारंपरिक पोल / चुनने की प्रोसेस लागू की जाती है.
LwIP के लिए, इवेंट रेडीनेस की सूचना को इवेंट / मैसेज और प्लैटफ़ॉर्म और इवेंट / मैसेज सिस्टम के लिए खास हुक के ज़रिए हैंडल किया जाता है.
कंस्ट्रक्टर और डिस्ट्रक्टर |
|
---|---|
InetLayer(void)
यह InetLayer डिफ़ॉल्ट कंस्ट्रक्टर है.
|
सार्वजनिक प्रकार |
|
---|---|
@5{
|
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)
|
किसी खास लिंक या इंटरफ़ेस के लिए, स्थानीय आईपीवी6 पता पाएं.
|
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 )
किसी खास लिंक या इंटरफ़ेस के लिए, स्थानीय आईपीवी6 पता पाएं.
जानकारी | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
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 तरीके को कॉल करना ज़रूरी है.
Init
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
यह InetLayer एक्सप्लिसिट इनिशलाइज़र है.
InetLayer का इस्तेमाल करने से पहले इसे कॉल करना और पूरा करना ज़रूरी है.
कॉलर एक वैकल्पिक संदर्भ तर्क दे सकता है जिसे किसी भी प्लैटफ़ॉर्म के हुक फ़ंक्शन के ज़रिए पास किया जाएगा. LwIP पर आधारित अडैप्टेशन के लिए, यह आम तौर पर InetLayer इंस्टेंस से जुड़ी इवेंट की सूची का पॉइंटर होगा.
प्लैटफ़ॉर्म, अपने प्लैटफ़ॉर्म के हिसाब से कॉन्फ़िगरेशन हेडर में INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS का दावा कर सकते हैं. साथ ही, वे Platform::Inetlayer:WillInit and Platform::Inetlayer::DonInit को चालू करके, प्लैटफ़ॉर्म के हिसाब से कस्टमाइज़ेशन या 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:Will शटलडाउन और प्लैटफ़ॉर्म::Inetlayer::YouTube सेशन को अपडेट करने की सुविधा चालू कर सकते हैं. इससे, 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 )