nl:: Internet:: AntarmukaIterator
#include <src/inet/InetInterface.h>
Iterator untuk daftar antarmuka jaringan sistem.
Ringkasan
Gunakan objek kelas ini untuk mengulangi daftar antarmuka jaringan sistem.
Metode pada contoh individu kelas ini tidak thread-aman; namun contoh terpisah dapat digunakan secara bersamaan oleh banyak utas.
Pada sistem LwIP multi-utas, instans relatif aman terhadap utas terhadap utas lain yang mengakses status LwIP global asalkan utas lain menahan kunci inti LwIP saat memutasikan 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 stabil kecuali dalam kasus di mana antarmuka yang dipilih saat ini dihapus dari daftar, di mana iterasi segera berakhir.
Konstruktor dan Destruktor | |
---|---|
InterfaceIterator (void) Membangun sebuah InterfaceIterator objek. | |
~InterfaceIterator (void) Menghancurkan sebuah InterfaceIterator objek. |
Atribut yang dilindungi | |
---|---|
mCurIntf | size_t |
mCurNetif | struct netif * |
mIntfArray | struct if_nameindex * |
mIntfFlags | short |
mIntfFlagsCached | bool |
Fungsi publik | |
---|---|
GetInterface (void) | InterfaceId Alias usang untuk GetInterfaceId(void) |
GetInterfaceId (void) | InterfaceId Mengembalikan id antarmuka jaringan pada posisi iterator saat ini. |
GetInterfaceName (char *nameBuf, size_t nameBufSize) | Dapatkan nama antarmuka jaringan saat ini. |
HasBroadcastAddress (void) | bool Mengembalikan apakah antarmuka jaringan saat ini memiliki alamat siaran. |
HasCurrent (void) | bool Uji apakah iterator diposisikan pada antarmuka. |
IsUp (void) | bool Mengembalikan apakah antarmuka jaringan saat ini sudah habis. |
Next (void) | bool Majukan iterator ke antarmuka jaringan berikutnya. |
SupportsMulticast (void) | bool Mengembalikan apakah antarmuka jaringan saat ini mendukung multicast. |
Fungsi yang dilindungi | |
---|---|
GetFlags (void) | short Mengembalikan 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
DapatkanInterfaceId
InterfaceId GetInterfaceId( void )
Mengembalikan id antarmuka jaringan pada posisi iterator saat ini.
rincian | |||||
---|---|---|---|---|---|
Mengembalikan Nilai |
|
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.
rincian | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
| ||||||||
Mengembalikan Nilai |
|
MemilikiAlamatSiaran
bool HasBroadcastAddress( void )
Mengembalikan apakah antarmuka jaringan saat ini memiliki alamat siaran.
rincian | |
---|---|
Kembali | 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.
rincian | |
---|---|
Kembali | true jika iterator diposisikan pada antarmuka; false jika diposisikan di luar akhir daftar antarmuka. |
Kembali | true jika iterator diposisikan pada alamat antarmuka; false jika diposisikan di luar akhir daftar alamat. |
AntarmukaIterator
InterfaceIterator( void )
Membangun sebuah InterfaceIterator objek.
Memulai iterator pada antarmuka jaringan pertama. Pada beberapa platform, konstruktor ini dapat mengalokasikan sumber daya yang didaur ulang oleh destruktor.
IsUp
bool IsUp( void )
Mengembalikan apakah antarmuka jaringan saat ini sudah habis.
rincian | |
---|---|
Kembali | true jika antarmuka jaringan saat ini sudah habis, false jika tidak atau jika iterator diposisikan di luar akhir daftar. |
Lanjut
bool Next( void )
Majukan 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.
rincian | |
---|---|
Kembali | false jika maju melampaui akhirnya, yang lain true . |
Mendukung Multicast
bool SupportsMulticast( void )
Mengembalikan apakah antarmuka jaringan saat ini mendukung multicast.
rincian | |
---|---|
Kembali | true jika antarmuka jaringan saat ini mendukung multicast, false jika tidak, atau jika iterator diposisikan di luar akhir daftar. |
~InterfaceIterator
~InterfaceIterator( void )
Menghancurkan sebuah InterfaceIterator objek.
Mendaur ulang semua sumber daya yang dialokasikan oleh konstruktor.
Fungsi yang dilindungi
Dapatkan Bendera
short GetFlags( void )
Mengembalikan nilai ifr_flags untuk antarmuka saat ini.