nl:: اینت:: InterfaceIterator
#include <src/inet/InetInterface.h>
Iterator برای لیست رابط های شبکه سیستم.
خلاصه
از اشیاء این کلاس برای تکرار لیست رابط های شبکه سیستم استفاده کنید.
روشهای موجود در نمونههای فردی این کلاس، ایمن نیستند . با این حال نمونه های جداگانه ممکن است به طور همزمان توسط چندین رشته استفاده شوند.
در سیستمهای LwIP چند رشتهای، نمونهها نسبت به رشتههای دیگر که به حالت LwIP جهانی دسترسی دارند، به شرطی که رشتههای دیگر قفل هسته LwIP را نگه دارند در حالی که فهرست netifها را تغییر میدهند، ایمن هستند و خود شی netif هرگز از بین نمیرود.
در سیستم های مبتنی بر سوکت، تکرار همیشه در مواجهه با تغییرات در رابط های سیستم زیربنایی پایدار است.
در سیستم های LwIP، تکرار پایدار است، مگر در مواردی که رابط انتخاب شده فعلی از لیست حذف شود، در این صورت تکرار بلافاصله پایان می یابد.
سازندگان و ویرانگرها | |
---|---|
InterfaceIterator (void) یک شی InterfaceIterator می سازد. | |
~InterfaceIterator (void) یک شی InterfaceIterator را از بین می برد. |
ویژگی های محافظت شده | |
---|---|
mCurIntf | size_t |
mCurNetif | struct netif * |
mIntfArray | struct if_nameindex * |
mIntfFlags | short |
mIntfFlagsCached | bool |
توابع عمومی | |
---|---|
GetInterface (void) | InterfaceId نام مستعار منسوخ شده برای GetInterfaceId(void) |
GetInterfaceId (void) | InterfaceId شناسه رابط شبکه را در موقعیت تکرارکننده فعلی برمیگرداند. |
GetInterfaceName (char *nameBuf, size_t nameBufSize) | نام رابط شبکه فعلی را دریافت کنید. |
HasBroadcastAddress (void) | bool نشان می دهد که آیا رابط شبکه فعلی یک آدرس پخش دارد یا خیر. |
HasCurrent (void) | bool تست کنید که آیا تکرار کننده روی یک رابط قرار دارد یا خیر. |
IsUp (void) | bool نشان می دهد که آیا رابط شبکه فعلی فعال است یا خیر. |
Next (void) | bool تکرار کننده را به رابط شبکه بعدی ببرید. |
SupportsMulticast (void) | bool نشان می دهد که آیا رابط شبکه فعلی از چندپخشی پشتیبانی می کند یا خیر. |
توابع محافظت شده | |
---|---|
GetFlags (void) | short مقدار ifr_flags را برای رابط فعلی برمیگرداند. |
ویژگی های محافظت شده
mCurIntf
size_t mCurIntf
mCurNetif
struct netif * mCurNetif
mIntfArray
struct if_nameindex * mIntfArray
mIntfFlags
short mIntfFlags
mIntfFlagsCached
bool mIntfFlagsCached
توابع عمومی
GetInterfaceId
InterfaceId GetInterfaceId( void )
شناسه رابط شبکه را در موقعیت تکرارکننده فعلی برمیگرداند.
جزئیات | |||||
---|---|---|---|---|---|
ارزش های بازگشتی |
|
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
نام رابط شبکه فعلی را دریافت کنید.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
| ||||||||
ارزش های بازگشتی |
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
نشان می دهد که آیا رابط شبکه فعلی یک آدرس پخش دارد یا خیر.
جزئیات | |
---|---|
برمی گرداند | true اگر رابط شبکه فعلی دارای یک آدرس پخش باشد، false اگر نه، یا اگر تکرار کننده فراتر از انتهای لیست قرار گرفته باشد. |
HasCurrent
bool HasCurrent( void )
تست کنید که آیا تکرار کننده روی یک رابط قرار دارد یا خیر.
تست کنید که آیا تکرار کننده روی یک آدرس واسط قرار دارد یا خیر.
جزئیات | |
---|---|
برمی گرداند | true اگر تکرار کننده در یک رابط قرار گرفته باشد. false اگر فراتر از انتهای فهرست رابط قرار گیرد. |
برمی گرداند | true اگر تکرار کننده در یک آدرس واسط قرار گرفته باشد. false در صورتی که فراتر از انتهای لیست آدرس قرار گیرد. |
InterfaceIterator
InterfaceIterator( void )
یک شی InterfaceIterator می سازد.
تکرار کننده را در اولین رابط شبکه راه اندازی می کند. در برخی از پلتفرمها، این سازنده ممکن است منابع بازیافت شده توسط ویرانگر را تخصیص دهد.
IsUp
bool IsUp( void )
نشان می دهد که آیا رابط شبکه فعلی فعال است یا خیر.
جزئیات | |
---|---|
برمی گرداند | true اگر رابط شبکه فعلی بالا باشد، false اگر نه یا اگر تکرارکننده در خارج از انتهای لیست قرار گرفته باشد. |
بعدی
bool Next( void )
تکرار کننده را به رابط شبکه بعدی ببرید.
Advances the internal iterator to the next network interface or to a position beyond the end of the interface list. On multi-threaded LwIP systems, this method is thread-safe relative to other threads accessing the global LwIP state provided that: 1) the other threads hold the LwIP core lock while mutating the list of netifs; and 2) netif objects themselves are never destroyed. Iteration is stable in the face of changes to the underlying system's interfaces, *except* in the case of LwIP systems when the currently selected interface is removed from the list, which causes iteration to end immediately.
جزئیات | |
---|---|
برمی گرداند | false اگر فراتر از انتها پیش رفت، در غیر این صورت true . |
پشتیبانی از Multicast
bool SupportsMulticast( void )
نشان می دهد که آیا رابط شبکه فعلی از چندپخشی پشتیبانی می کند یا خیر.
جزئیات | |
---|---|
برمی گرداند | اگر رابط شبکه فعلی از چندپخشی پشتیبانی کند، true ، اگر نه، false ، یا اگر تکرارکننده فراتر از انتهای لیست قرار گرفته باشد. |
~InterfaceIterator
~InterfaceIterator( void )
یک شی InterfaceIterator را از بین می برد.
هر منبع تخصیص یافته توسط سازنده را بازیافت می کند.
توابع محافظت شده
GetFlags
short GetFlags( void )
مقدار ifr_flags را برای رابط فعلی برمیگرداند.
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-13 بهوقت ساعت هماهنگ جهانی.