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