nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
وهذا يوفر الوصول إلى خدمات الإنترنت، بما في ذلك المؤقتات، وتحليل نظام أسماء النطاقات (DNS)، ونقل شبكة TCP، ونقل شبكة UDP، ونقل الشبكة الأولية، لكل سلسلة محادثات واحدة.
ملخّص
بالنسبة إلى مقابس BSD/POSIX، يتم التعامل مع إشعار الاستعداد للحدث من خلال أدوات وصف الملفات والاستطلاع التقليدي أو اختيار التنفيذ عند تعديل النظام الأساسي.
بالنسبة إلى LwIP، تتم معالجة إشعار الاستعداد للحدث من خلال الأحداث/الرسائل وعمليات الجذب الخاصة بالنظام الأساسي والنظام الأساسي للحدث أو الرسائل.
الدلالة والهياكل |
|
---|---|
InetLayer(void)
هذه هي الدالة الإنشائية التلقائية لـ InetLayer.
|
الأنواع العلنية |
|
---|---|
@5{
|
تعداد الحالة الحالية لكائن InetLayer. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
السمات العامة |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
الحالة الحالية لكائن InetLayer.
|
السمات الثابتة العلنية |
|
---|---|
sInetEventHandlerDelegate
|
الدوال العامة |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
ألغِ أي طلب بحث لنظام أسماء النطاقات (DNS) معلق (لمعاودة الاتصال بإكمال المطابقة وحالة التطبيق) التي قد لا تزال نشطة.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
احصل على معرّف الواجهة لعنوان IP المحدّد.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
الحصول على عنوان IPv6 المحلي لرابط أو واجهة محددة.
|
GetPlatformData(void)
|
void *
يؤدي هذا إلى عرض أي بيانات نظام أساسي خاصة بالعميل تم تعيينها إلى المثيل، إذا تم تعيينها مسبقًا.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
التعامل مع وحدات الإدخال والإخراج من مكالمة محدّدة
|
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 جديد لإصدار وبروتوكول محدّدَين من IP.
|
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)
|
تحليل عنوان IP لاسم مضيف محدّد.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
تحليل عنوان IP لاسم مضيف محدّد.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
تحليل عنوان IP لاسم مضيف محدّد.
|
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.
[للقراءة فقط] الحالة الحالية.
السمات الثابتة العلنية
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
الدوال العامة
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
ألغِ أي طلب بحث لنظام أسماء النطاقات (DNS) معلق (لمعاودة الاتصال بإكمال المطابقة وحالة التطبيق) التي قد لا تزال نشطة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
احصل على معرّف الواجهة لعنوان IP المحدّد.
في حال تعذّر اشتقاق معرّف الواجهة، يتم ضبطه على 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 )
التعامل مع وحدات الإدخال والإخراج من مكالمة محدّدة
تُسجِّل هذه الطريقة حدث إدخال/إخراج معلّق في كل نقطة نهاية نشطة، ثم تستدعي وظائف معالجة وحدات الإدخال والإخراج ذات الصلة لنقاط النهاية هذه.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
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 وplatform::InetLayer::DidInit لإحداث عمليات التخصيص الخاصة بالنظام الأساسي أو إضافات البيانات على InetLayer.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||
قيم الإرجاع |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
تحقَّق من وجود تطابق بين عنوان IPv6 المحدَّد وأي من عناوين IPv6 التي تم إعدادها محليًا.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
true إذا تم العثور على تطابق ناجح، وإلا فإن القيمة false.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
تنشئ كائن RawEndPoint جديد لإصدار وبروتوكول محدّدَين من IP.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
قيم الإرجاع |
|
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 )
تحليل عنوان IP لاسم مضيف محدّد.
التفاصيل | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||||||
قيم الإرجاع |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
تحليل عنوان IP لاسم مضيف محدّد.
التفاصيل | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||||||
قيم الإرجاع |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
تحليل عنوان IP لاسم مضيف محدّد.
التفاصيل | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||||||
قيم الإرجاع |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
يؤدي ذلك إلى ضبط بيانات النظام الأساسي الخاصة بالعميل المحددة على المثيل لاستردادها لاحقًا بواسطة النظام الأساسي للعميل.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
إيقاف التشغيل
INET_ERROR Shutdown( void )
هذا هو مُزيل الإعداد الصريح InetLayer ويجب استدعاؤه قبل التخلص من مثيل InetLayer المثيل.
قد تختار الأنظمة الأساسية تأكيد INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS في عنوان الإعدادات الخاص بالنظام الأساسي وتفعيل النظام الأساسي::InetLayer::willShutdown and Platform::InetLayer::Did Shodown - لتعديل التخصيصات الخاصة بالنظام الأساسي أو إضافات البيانات إلى 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 )