ไม่มี:: ไอเน็ต:: InterfaceIterator
#include <src/inet/InetInterface.h>
ตัววนซ้ำสำหรับรายการอินเทอร์เฟซเครือข่ายระบบ
สรุป
ใช้อ็อบเจ็กต์ของคลาสนี้เพื่อวนซ้ำรายการของอินเตอร์เฟสเครือข่ายของระบบ
วิธีการในอินสแตนซ์ของแต่ละชั้นนี้จะไม่ด้ายปลอดภัย; อย่างไรก็ตาม หลายเธรดอาจใช้อินสแตนซ์ที่แยกจากกันพร้อมๆ กัน
บนระบบ LwIP แบบมัลติเธรด อินสแตนซ์จะปลอดภัยต่อเธรดเมื่อเทียบกับเธรดอื่นๆ ที่เข้าถึงสถานะ LwIP ทั่วโลก โดยที่เธรดอื่นๆ จะยึด LwIP core lock ไว้ในขณะที่เปลี่ยนแปลงรายการของ 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 ส่งคืน id อินเทอร์เฟซเครือข่ายที่ตำแหน่งตัววนซ้ำปัจจุบัน |
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
mIntfFlagsแคช
bool mIntfFlagsCached
งานสาธารณะ
GetInterfaceId
InterfaceId GetInterfaceId( void )
ส่งคืน id อินเทอร์เฟซเครือข่ายที่ตำแหน่งตัววนซ้ำปัจจุบัน
รายละเอียด | |||||
---|---|---|---|---|---|
ส่งกลับค่า |
|
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 หากไม่ได้หรือถ้า iterator อยู่ในตำแหน่งเกินสิ้นของรายการ |
HasCurrent
bool HasCurrent( void )
ทดสอบว่าตัววนซ้ำอยู่ในตำแหน่งบนอินเทอร์เฟซหรือไม่
ทดสอบว่าตัววนซ้ำอยู่ในตำแหน่งที่อยู่อินเทอร์เฟซหรือไม่
รายละเอียด | |
---|---|
คืนสินค้า | true ถ้า iterator อยู่ในตำแหน่งที่เกี่ยวกับอินเตอร์เฟซ; false ถ้าตำแหน่งเกินรายการอินเตอร์เฟซ |
คืนสินค้า | true ถ้า iterator อยู่ในตำแหน่งที่เกี่ยวกับที่อยู่อินเตอร์เฟซ; false ถ้าตำแหน่งเกินรายการที่อยู่ |
InterfaceIterator
InterfaceIterator( void )
โครงสร้าง InterfaceIterator วัตถุ
เริ่มตัววนซ้ำที่อินเทอร์เฟซเครือข่ายแรก ในบางแพลตฟอร์ม ตัวสร้างนี้อาจจัดสรรทรัพยากรที่รีไซเคิลโดยตัวทำลายล้าง
IsUp
bool IsUp( void )
ส่งคืนว่าอินเทอร์เฟซเครือข่ายปัจจุบันเปิดอยู่หรือไม่
รายละเอียด | |
---|---|
คืนสินค้า | true ถ้าอินเตอร์เฟซเครือข่ายในปัจจุบันจะขึ้น false หากไม่ได้หรือถ้า iterator อยู่ในตำแหน่งเกินสิ้นของรายการ |
ต่อไป
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 |
รองรับมัลติคาสต์
bool SupportsMulticast( void )
ส่งคืนว่าอินเทอร์เฟซเครือข่ายปัจจุบันรองรับมัลติคาสต์หรือไม่
รายละเอียด | |
---|---|
คืนสินค้า | true ถ้าอินเตอร์เฟซเครือข่ายในปัจจุบันสนับสนุนหลายผู้รับ false หากไม่ได้หรือถ้า iterator อยู่ในตำแหน่งเกินสิ้นของรายการ |
~InterfaceIterator
~InterfaceIterator( void )
ทำลาย InterfaceIterator วัตถุ
รีไซเคิลทรัพยากรใดๆ ที่คอนสตรัคเตอร์จัดสรร
ฟังก์ชันที่ได้รับการป้องกัน
GetFlags
short GetFlags( void )
ส่งกลับค่า ifr_flags สำหรับอินเทอร์เฟซปัจจุบัน