nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
איטרטור לרשימת ממשקי הרשת של המערכת.
סיכום
שימוש באובייקטים של המחלקה הזו כדי לחזור על הרשימה של ממשקי הרשת של המערכת.
שיטות במופע ספציפי במחלקה הזו לא בטוחות בשרשור; עם זאת, אפשר להשתמש במופעים נפרדים בו-זמנית במספר שרשורים.
במערכות LwIP מרובות שרשורים, המכונות בטוחות לשרשורים ביחס לשרשורים אחרים הניגשים למצב ה-LwIP הגלובלי, בתנאי שה-threads האחרים מחזיקים את נעילת הליבה של LwIP בזמן שהם משנים את רשימת הרשתות, ואובייקט ה-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.
הפעלת האיטרטור בממשק הרשת הראשון. בחלק מהפלטפורמות, ה-constructor הזה עשוי להקצות משאבים שממוחזרים על ידי כלי ההרכבה.
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 . |
SupportsMulticast
bool SupportsMulticast( void )
הפונקציה מחזירה אם ממשק הרשת הנוכחי תומך בריבוי שידורים.
פרטים | |
---|---|
החזרות |
true אם ממשק הרשת הנוכחי תומך בריבוי שידורים, false אם לא, או אם האיטרטור ממוקם מעבר לסוף הרשימה. |
~InterfaceIterator
~InterfaceIterator( void )
השמדת אובייקט InterfaceIterator.
מיחזור המשאבים שהוקצו על ידי ה-constructor.
פונקציות מוגנות
GetFlags
short GetFlags( void )
מחזירה את הערך ifr_flags בממשק הנוכחי.