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 setiap instance class ini tidak aman untuk thread; namun, instance terpisah dapat digunakan secara bersamaan oleh beberapa thread.

Pada sistem LwIP multi-thread, instance bersifat thread-safe relatif terhadap thread lain yang mengakses status LwIP global asalkan thread lain memegang kunci inti LwIP saat memutasikan daftar netif, dan objek netif itu sendiri tidak pernah dihancurkan.

Pada sistem berbasis soket, iterasi selalu stabil meskipun ada perubahan pada antarmuka sistem yang mendasarinya.

Pada sistem LwIP, iterasi stabil kecuali dalam kasus ketika antarmuka yang saat ini dipilih dihapus dari daftar, dalam hal ini iterasi akan 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 tidak digunakan lagi untuk GetInterfaceId(void)
GetInterfaceId(void)
InterfaceId
Menampilkan ID antarmuka jaringan di posisi iterator saat ini.
GetInterfaceName(char *nameBuf, size_t nameBufSize)
Mendapatkan nama antarmuka jaringan saat ini.
HasBroadcastAddress(void)
bool
Menampilkan apakah antarmuka jaringan saat ini memiliki alamat broadcast.
HasCurrent(void)
bool
Menguji apakah iterator diposisikan pada antarmuka.
IsUp(void)
bool
Menampilkan apakah antarmuka jaringan saat ini aktif.
Next(void)
bool
Melanjutkan 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 tidak digunakan lagi untuk GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Menampilkan ID antarmuka jaringan di posisi iterator saat ini.

Detail
Nilai Pengembalian
INET_NULL_INTERFACEID
jika lanjutan melewati daftar.
id
ID antarmuka jaringan saat ini.

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Mendapatkan 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 Pengembalian
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 siaran, false jika tidak, atau jika iterator diposisikan di luar akhir daftar.

HasCurrent

bool HasCurrent(
  void
)

Menguji apakah iterator diposisikan pada antarmuka.

Menguji 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 resource 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
)

Melanjutkan 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 lanjutan ada di luar akhir, jika tidak 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.