nl::Inet::InterfaceIterator

#include <src/inet/InetInterface.h>

Sistem ağ arayüzleri listesinin iterasyon öğesi.

Ö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ığı açısından güvenli değildir. Ancak ayrı örnekler, aynı anda birden fazla iş parçacığı tarafından kullanılabilir.

Çok iş parçacıklı LwIP sistemlerde örnekler, genel LwIP durumuna erişen diğer iş parçacıklarına göre iş parçacığı açısından güvenlidir. Bunun için diğer iş parçacıklarının netif listesini değiştirirken LwIP çekirdek kilidini tutması ve netif nesnesinin kendisinin hiçbir zaman silinmemesi gerekir.

Yuva tabanlı sistemlerde yineleme, temeldeki sistemin arayüzlerinde yapılan değişikliklere karşı her zaman istikrarlıdır.

LwIP sistemlerinde iterasyon sabittir ancak mevcut arayüz listeden kaldırılır, bu durumda iterasyon hemen sona erer.

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

Kamu işlevleri

GetInterface(void)
InterfaceId
GetInterfaceId(void) için takma ad kullanımdan kaldırıldı
GetInterfaceId(void)
InterfaceId
Geçerli yineleyici 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ünün bir yayın adresi olup olmadığını döndürür.
HasCurrent(void)
bool
Yineleyicinin 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
Yineleyiciyi 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

Kamu işlevleri

GetInterface

InterfaceId GetInterface(
  void
)

GetInterfaceId(void) için takma ad kullanımdan kaldırıldı

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

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

Ayrıntılar
Döndürülen Değerler
INET_NULL_INTERFACEID
gelişmiş olması gerekir.
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ı yazılacak bellek bölgesi
[in] nameBufSize
nameBuf ile belirtilen bölgenin büyüklüğü
Döndürülen Değerler
INET_NO_ERROR
başarılı sonuç, arayüz adı yazıldı
INET_ERROR_INCORRECT_STATE
iterasyonlu/yineleyici, listenin sonundan sonraya konumlandırılmış
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ünün bir yayın adresi olup olmadığını döndürür.

Ayrıntılar
İadeler
Geçerli ağ arayüzünün bir yayın adresi varsa true, yoksa false veya yineleme, listenin sonundan sonraya yerleştirildiyse.

HasCurrent

bool HasCurrent(
  void
)

Yineleyicinin 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üze yerleştirilmişse true; arayüz listesinin sonuna yerleştirilmişse false.
İadeler
Yineleyici bir arayüz adresine yerleştirilmişse true; adres listesinin sonuna yerleştirilmişse false.

InterfaceIterator

 InterfaceIterator(
  void
)

Bir InterfaceIterator nesnesi oluşturur.

Yineleyiciyi ilk ağ arayüzünde başlatır. Bazı platformlarda bu oluşturucu, 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, değilse veya yineleme, listenin sonundan sonraya yerleştirilmişse false.

Sonraki

bool Next(
  void
)

Yineleyiciyi 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
Son aşamaya ulaşıldıysa 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
Mevcut ağ arayüzü çoklu yayını destekliyorsa true, desteklemiyorsa veya yineleyici listenin sonundan sonraya yerleştirilmişse false.

~Arayüz İtelecisi

 ~InterfaceIterator(
  void
)

Bir InterfaceIterator nesnesini kaldırır.

Oluşturucu tarafından tahsis edilen 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.