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
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 |
|
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 |
|
||||||||
Değerleri Döndür |
|
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.