nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
يتيح ذلك الوصول إلى خدمات الإنترنت، بما في ذلك الموقتات ودقة نظام أسماء النطاقات (DNS) ونقل شبكة TCP ونقل شبكة UDP ونقل الشبكة الأولي، لسلسلة مفردة.
ملخّص
بالنسبة إلى مقابس BSD/POSIX، تتم معالجة إشعار جاهزية الحدث من خلال أدوات وصف الملفات وإجراء استطلاع تقليدي أو اختيار عملية تنفيذ على تعديل النظام الأساسي.
بالنسبة إلى LwIP، تتم معالجة إشعار جاهزية الحدث من خلال الأحداث أو الرسائل وعناصر الجذب الخاصة بالنظام الأساسي والنظام الأساسي للحدث أو الرسائل.
الشركات المصنّعة والمُصنّعة |
|
---|---|
InetLayer(void)
وهذه هي الدالة الإنشائية التلقائية InetLayer.
|
الأنواع العامة |
|
---|---|
@5{
|
تعداد الحالة الحالية لكائن 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)
|
يمكنك الحصول على معرِّف الواجهة لعنوان 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
السمات العامة
السمات الثابتة العامة
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 )
يمكنك الحصول على معرِّف الواجهة لعنوان 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 بنجاح قبل استخدام الكائن.
Init
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
هذا هو مهيئ InetLayer الصريح.
ويجب استدعاء هذه العملية وإكمالها بنجاح قبل استخدام InetLayer.
يمكن للمتصل تقديم وسيطة سياق اختيارية سيتم تمريرها مرة أخرى عبر أي وظائف عنصر جذب خاصة بالنظام الأساسي. وبالنسبة إلى التعديلات المستنِدة إلى LwIP، سيكون هذا عادةً مؤشرًا إلى قائمة انتظار الأحداث المرتبطة بمثيل InetLayer.
قد تختار الأنظمة الأساسية تأكيد INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS في عنوان الإعداد الخاص بالنظام الأساسي وتفعيل النظام الأساسي::InetLayer::WillInit and 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::WillSetdown and Platform::InetLayer::DidMethoddown لتأثير إزالة التخصيصات الخاصة بالنظام الأساسي أو إضافات البيانات في 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 )