nl:: اینت:: InetLayer
#include <src/inet/InetLayer.h>
این امکان دسترسی به خدمات اینترنت، از جمله تایمر، وضوح سیستم نام دامنه (DNS)، انتقال شبکه TCP، انتقال شبکه UDP و انتقال شبکه خام را برای یک رشته فراهم میکند.
خلاصه
برای سوکتهای BSD/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 هرگونه درخواست 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 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 جدید برای نسخه و پروتکل 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 | وضعیتی که Shutdown در آن فعال شده است. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
صفات عمومی
صفات استاتیک عمومی
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 )
این هر گونه داده پلتفرم خاص مشتری را که به نمونه اختصاص داده شده است، برمی گرداند، اگر قبلا تنظیم شده باشد.
جزئیات | |
---|---|
برمی گرداند | دادههای پلتفرم خاص مشتری، اگر قبلاً تنظیم شده باشد. در غیر این صورت، NULL. |
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
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 را در هدر پیکربندی مخصوص پلتفرم خود قرار دهند و قلابهای Platform::InetLayer::WillInit و Platform::InetLayer::DidInit را برای اعمال سفارشیسازیهای پلتفرم خاص یا پسوندهای داده در InetLa فعال کنند.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
بررسی کنید که آیا پیشوندی بین آدرس IPv6 مشخص شده و هر یک از آدرسهای IPv6 پیکربندی شده محلی وجود دارد یا خیر.
جزئیات | |||
---|---|---|---|
پارامترها |
| ||
برمی گرداند | درست است اگر مطابقت موفقی پیدا شود، در غیر این صورت نادرست است. |
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 )
این Deinitializer صریح InetLayer است و باید قبل از از بین بردن یک نمونه InetLayer نمونه فراخوانی شود.
پلتفرمها ممکن است انتخاب کنند که INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS را در هدر پیکربندی مخصوص پلتفرم خود قرار دهند و قلابهای Platform::InetLayer::WillShutdown و Platform::InetLayer::DidShutdown را برای پاکسازی سفارشیسازیهای افزونههای پلتفرم یا افزونههای ویژه پلتفرم فعال کنند.
جزئیات | |
---|---|
برمی گرداند | 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 )
UpdateSnapshot
void UpdateSnapshot( nl::Weave::System::Stats::Snapshot & aSnapshot )
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-10 بهوقت ساعت هماهنگ جهانی.