nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
Iterator สำหรับรายการอินเทอร์เฟซเครือข่ายของระบบ
สรุป
ใช้ออบเจ็กต์ของคลาสนี้เพื่อทำซ้ำรายการอินเทอร์เฟซเครือข่ายของระบบ
เมธอดในแต่ละอินสแตนซ์ของคลาสนี้ไม่ปลอดภัยเทรด อย่างไรก็ตาม เทรดหลายรายการอาจใช้อินสแตนซ์ที่แยกต่างหากพร้อมกันได้
ในระบบ LwIP แบบหลายเทรด อินสแตนซ์จะปลอดภัยของเทรดเมื่อเทียบกับเทรดอื่นที่เข้าถึงสถานะ LwIP ส่วนกลางได้ในกรณีที่เทรดอื่นมีล็อกแกน 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
เริ่มตัววนซ้ำที่อินเทอร์เฟซเครือข่ายแรก ในบางแพลตฟอร์ม ตัวสร้างนี้อาจจัดสรรทรัพยากรที่ผู้ทำลายใช้รีไซเคิลได้
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( void )
ทำลายออบเจ็กต์ InterfaceIterator
รีไซเคิลทรัพยากรที่ผู้สร้างจัดสรร
ฟังก์ชันที่มีการป้องกัน
GetFlags
short GetFlags( void )
แสดงผลค่า ifr_flags สำหรับอินเทอร์เฟซปัจจุบัน