nl::Inet::InterfaceIterator

#include <src/inet/InetInterface.h>

Sistem ağ arayüzleri listesinin iteratörü.

Özet

Sistem ağ arayüzleri listesini yinelemek için bu sınıfın nesnelerini kullanın.

Bu sınıfın tek bir örneğindeki yöntemler iş parçacığı için güvenli değildir; Ancak ayrı örnekler birden çok iş parçacığı tarafından aynı anda kullanılabilir.

Çok iş parçacıklı LwIP sistemlerinde, diğer iş parçacıklarının netif listesini değiştirirken LwIP çekirdek kilidini tutması ve netif nesnesinin hiçbir zaman yok edilmemesi koşuluyla, örnekler genel LwIP durumuna erişen diğer iş parçacıklarına kıyasla güvenlidir.

Yuva tabanlı sistemlerde, iterasyon temel sistemin arayüzlerinde yapılan değişiklikler karşısında her zaman sabittir.

LwIP sistemlerinde, o anda seçili olan arayüzün listeden kaldırıldığı ve bu durumda yinelemenin hemen sona erdiği durumlar dışında iterasyon sabittir.

Oluşturucular ve Yıkıcılar

InterfaceIterator(void)
Bir InterfaceIterator nesnesi oluşturur.
~InterfaceIterator(void)
Bir InterfaceIterator nesnesini kaldırır.

Korunan özellikler

mCurIntf
size_t
mCurNetif
struct netif *
mIntfArray
struct if_nameindex *
mIntfFlags
short
mIntfFlagsCached
bool

Herkese açık işlevler

GetInterface(void)
InterfaceId
GetInterfaceId(void) için desteği sonlandırıldı
GetInterfaceId(void)
InterfaceId
Geçerli yineleme konumundaki ağ arayüzü kimliğini döndürür.
GetInterfaceName(char *nameBuf, size_t nameBufSize)
Geçerli ağ arayüzünün adını alın.
HasBroadcastAddress(void)
bool
Geçerli ağ arayüzünde bir yayın adresinin olup olmadığını döndürür.
HasCurrent(void)
bool
Yinelemenin bir arayüzde konumlandırılıp konumlandırılmadığını test edin.
IsUp(void)
bool
Geçerli ağ arayüzünün çalışıp çalışmadığını döndürür.
Next(void)
bool
Yinelemeyi bir sonraki ağ arayüzüne ilerletin.
SupportsMulticast(void)
bool
Geçerli ağ arayüzünün çoklu yayını destekleyip desteklemediğini döndürür.

Korunan işlevler

GetFlags(void)
short
Geçerli arayüz için ifr_flags değerini döndürür.

Korunan özellikler

mCurIntf

size_t mCurIntf

mCurNetif

struct netif * mCurNetif

mIntfArray

struct if_nameindex * mIntfArray

mIntfFlags

short mIntfFlags

mIntfFlagsCached

bool mIntfFlagsCached

Herkese açık işlevler

GetInterface

InterfaceId GetInterface(
  void
)

GetInterfaceId(void) için desteği sonlandırıldı

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Geçerli yineleme konumundaki ağ arayüzü kimliğini döndürür.

Ayrıntılar
Değerleri Döndür
INET_NULL_INTERFACEID
gelişmişse "kullanılabilir" ayarını kullanın.
id
Geçerli ağ arayüzü kimliği.

GetInterfaceName

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Geçerli ağ arayüzünün adını alın.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

Ayrıntılar
Parametreler
[in] nameBuf
arayüz adını yazmak için kullanılacak bellek bölgesi
[in] nameBufSize
nameBuf ile belirtilen bölgenin boyutu
Değerleri Döndür
INET_NO_ERROR
başarılı sonuç, arayüz adı yazılmış
INET_ERROR_INCORRECT_STATE
iterator, listenin sonundan öteye yerleştirildi
INET_ERROR_NO_MEMORY
ad arabelleğe yazılamayacak kadar büyük
other
başka bir sistem veya platform hatası

HasBroadcastAddress

bool HasBroadcastAddress(
  void
)

Geçerli ağ arayüzünde bir yayın adresinin olup olmadığını döndürür.

Ayrıntılar
İadeler
true Mevcut ağ arayüzünde yayın adresi varsa, yayın adresi yoksa false ya da yineleme, listenin sonundan sonra konumlandırıldıysa.

HasCurrent

bool HasCurrent(
  void
)

Yinelemenin bir arayüzde konumlandırılıp konumlandırılmadığını test edin.

Yinelemenin bir arayüz adresinde konumlandırılıp konumlandırılmadığını test edin.

Ayrıntılar
İadeler
Yineleyici bir arayüzde konumlandırılırsa true; Arayüz listesinin sonundan sonrasına konumlandırılırsa false.
İadeler
Yineleme bir arayüz adresinde bulunuyorsa true; Adres listesinin sonundan öteye konumlandırılırsa false.

InterfaceIterator

 InterfaceIterator(
  void
)

Bir InterfaceIterator nesnesi oluşturur.

Yineleyiciyi ilk ağ arayüzünde başlatır. Bazı platformlarda bu kurucu, yıkıcı tarafından geri dönüştürülmüş kaynakları tahsis edebilir.

IsUp

bool IsUp(
  void
)

Geçerli ağ arayüzünün çalışıp çalışmadığını döndürür.

Ayrıntılar
İadeler
Mevcut ağ arayüzü açıksa true, yoksa ya da iteratör listenin sonlarına doğru yerleştirilmişse false.

Sonraki

bool Next(
  void
)

Yinelemeyi bir sonraki ağ arayüzüne ilerletin.

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.

Ayrıntılar
İadeler
Sondan sonra ileri düzeydeyse false, aksi takdirde true.

SupportsMulticast

bool SupportsMulticast(
  void
)

Geçerli ağ arayüzünün çoklu yayını destekleyip desteklemediğini döndürür.

Ayrıntılar
İadeler
true Mevcut ağ arayüzü çoklu yayını destekliyorsa, false desteklenmiyorsa veya yineleme, listenin sonundan sonra konumlandırıldıysa.

~InterfaceIterator

 ~InterfaceIterator(
  void
)

Bir InterfaceIterator nesnesini kaldırır.

Oluşturucu tarafından ayrılan kaynakları geri dönüştürür.

Korunan işlevler

GetFlags

short GetFlags(
  void
)

Geçerli arayüz için ifr_flags değerini döndürür.