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
INET_NULL_INTERFACEID
jika maju melampaui akhir daftar.
id
ID antarmuka jaringan saat ini.

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
[in] nameBuf
region memori untuk menulis nama antarmuka
[in] nameBufSize
ukuran wilayah yang dilambangkan dengan nameBuf
Nilai yang Ditampilkan
INET_NO_ERROR
hasil berhasil, nama antarmuka ditulis
INET_ERROR_INCORRECT_STATE
iterator diposisikan di luar akhir daftar
INET_ERROR_NO_MEMORY
nama terlalu besar untuk ditulis dalam buffer
other
error sistem atau platform lain

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.