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