nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
Iterator untuk daftar antarmuka jaringan sistem.
Ringkasan
Gunakan objek class ini untuk melakukan iterasi daftar antarmuka jaringan sistem.
Metode pada instance individual class ini tidak aman untuk thread; namun {i>instance<i} terpisah dapat digunakan secara bersamaan oleh beberapa {i>thread<i}.
Pada sistem LwIP multi-thread, instance relatif aman untuk thread lain yang mengakses status LwIP global asalkan thread lain menahan kunci inti LwIP saat mengubah daftar netif, dan objek netif itu sendiri tidak pernah dihancurkan.
Pada sistem berbasis soket, iterasi selalu stabil dalam menghadapi perubahan pada antarmuka sistem yang mendasarinya.
Pada sistem LwIP, iterasi bersifat stabil kecuali dalam kasus di mana antarmuka yang saat ini dipilih dihapus dari daftar, dalam hal ini iterasi segera berakhir.
Konstruktor dan Destruktor |
|
---|---|
InterfaceIterator(void)
Membuat objek InterfaceIterator.
|
|
~InterfaceIterator(void)
Menghancurkan objek InterfaceIterator.
|
Atribut yang dilindungi |
|
---|---|
mCurIntf
|
size_t
|
mCurNetif
|
struct netif *
|
mIntfArray
|
struct if_nameindex *
|
mIntfFlags
|
short
|
mIntfFlagsCached
|
bool
|
Fungsi publik |
|
---|---|
GetInterface(void)
|
InterfaceId
Alias yang tidak digunakan lagi untuk
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Menampilkan ID antarmuka jaringan pada posisi iterator saat ini.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Dapatkan nama antarmuka jaringan saat ini.
|
HasBroadcastAddress(void)
|
bool
Menampilkan apakah antarmuka jaringan saat ini memiliki alamat broadcast.
|
HasCurrent(void)
|
bool
Uji apakah iterator diposisikan pada antarmuka.
|
IsUp(void)
|
bool
Menampilkan apakah antarmuka jaringan saat ini aktif.
|
Next(void)
|
bool
Maju iterator ke antarmuka jaringan berikutnya.
|
SupportsMulticast(void)
|
bool
Menampilkan apakah antarmuka jaringan saat ini mendukung multicast.
|
Fungsi yang dilindungi |
|
---|---|
GetFlags(void)
|
short
Menampilkan nilai ifr_flags untuk antarmuka saat ini.
|
Atribut yang dilindungi
mCurIntf
size_t mCurIntf
mCurNetif
struct netif * mCurNetif
mIntfArray
struct if_nameindex * mIntfArray
mIntfFlags
short mIntfFlags
mIntfFlagsCached
bool mIntfFlagsCached
Fungsi publik
GetInterface
InterfaceId GetInterface( void )
Alias yang tidak digunakan lagi untuk GetInterfaceId(void)
GetInterfaceId
InterfaceId GetInterfaceId( void )
Menampilkan ID antarmuka jaringan pada posisi iterator saat ini.
Detail | |||||
---|---|---|---|---|---|
Nilai yang Ditampilkan |
|
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Dapatkan nama antarmuka jaringan saat ini.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Menampilkan apakah antarmuka jaringan saat ini memiliki alamat broadcast.
Detail | |
---|---|
Hasil |
true jika antarmuka jaringan saat ini memiliki alamat broadcast, false jika tidak, atau jika iterator diposisikan di luar akhir daftar. |
HasCurrent
bool HasCurrent( void )
Uji apakah iterator diposisikan pada antarmuka.
Uji apakah iterator diposisikan pada alamat antarmuka.
Detail | |
---|---|
Hasil |
true jika iterator diposisikan pada antarmuka; false jika diposisikan di luar akhir daftar antarmuka. |
Hasil |
true jika iterator diposisikan pada alamat antarmuka; false jika diposisikan di luar akhir daftar alamat. |
InterfaceIterator
InterfaceIterator( void )
Membuat objek InterfaceIterator.
Memulai iterator pada antarmuka jaringan pertama. Pada beberapa platform, konstruktor ini dapat mengalokasikan sumber daya yang didaur ulang oleh destruktor.
IsUp
bool IsUp( void )
Menampilkan apakah antarmuka jaringan saat ini aktif.
Detail | |
---|---|
Hasil |
true jika antarmuka jaringan saat ini naik, false jika tidak, atau jika iterator diposisikan di luar akhir daftar. |
Berikutnya
bool Next( void )
Maju iterator ke antarmuka jaringan berikutnya.
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.
Detail | |
---|---|
Hasil |
false jika maju setelah melewati bagian akhir, atau true . |
SupportsMulticast
bool SupportsMulticast( void )
Menampilkan apakah antarmuka jaringan saat ini mendukung multicast.
Detail | |
---|---|
Hasil |
true jika antarmuka jaringan saat ini mendukung multicast, false jika tidak, atau jika iterator diposisikan di luar akhir daftar. |
~InterfaceIterator
~InterfaceIterator( void )
Menghancurkan objek InterfaceIterator.
Mendaur ulang resource apa pun yang dialokasikan oleh konstruktor.
Fungsi yang dilindungi
GetFlags
short GetFlags( void )
Menampilkan nilai ifr_flags untuk antarmuka saat ini.