nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
Webhook für die Liste der Systemnetzwerkschnittstellen.
Zusammenfassung
Verwenden Sie Objekte dieser Klasse, um die Liste der Systemnetzwerkschnittstellen zu iterieren.
Methoden für eine einzelne Instanz dieser Klasse sind nicht Thread-sicher. Separate Instanzen können jedoch gleichzeitig von mehreren Threads verwendet werden.
Auf Multithread-LwIP-Systemen sind Instanzen im Vergleich zu anderen Threads, die auf den globalen LwIP-Status zugreifen, Thread-sicher, sofern die anderen Threads die LwIP-Kernsperre haben, während die Liste der Netifs verändert wird, und dass das Netif-Objekt selbst nie gelöscht wird.
Bei Socket-basierten Systemen ist die Iteration bei Änderungen an den zugrunde liegenden Systemschnittstellen immer stabil.
Auf LwIP-Systemen ist die Iteration stabil, es sei denn, die aktuell ausgewählte Schnittstelle wird aus der Liste entfernt. In diesem Fall wird die Iteration sofort beendet.
Konstruktoren und Zerstörer |
|
---|---|
InterfaceIterator(void)
Konstruiert ein InterfaceIterator-Objekt.
|
|
~InterfaceIterator(void)
Zerstört ein InterfaceIterator-Objekt.
|
Geschützte Attribute |
|
---|---|
mCurIntf
|
size_t
|
mCurNetif
|
struct netif *
|
mIntfArray
|
struct if_nameindex *
|
mIntfFlags
|
short
|
mIntfFlagsCached
|
bool
|
Öffentliche Funktionen |
|
---|---|
GetInterface(void)
|
InterfaceId
Eingestellter Alias für
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Gibt die ID der Netzwerkschnittstelle an der aktuellen Position des Iterators zurück.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Rufen Sie den Namen der aktuellen Netzwerkschnittstelle ab.
|
HasBroadcastAddress(void)
|
bool
Gibt an, ob die aktuelle Netzwerkschnittstelle eine Sendeadresse hat.
|
HasCurrent(void)
|
bool
Testen Sie, ob der Iterator auf einer Schnittstelle positioniert ist.
|
IsUp(void)
|
bool
Gibt an, ob die aktuelle Netzwerkschnittstelle aktiv ist.
|
Next(void)
|
bool
Springt zur nächsten Netzwerkschnittstelle.
|
SupportsMulticast(void)
|
bool
Gibt an, ob die aktuelle Netzwerkschnittstelle Multicast unterstützt.
|
Geschützte Funktionen |
|
---|---|
GetFlags(void)
|
short
Gibt den ifr_flags-Wert für die aktuelle Schnittstelle zurück.
|
Geschützte Attribute
mCurIntf
size_t mCurIntf
mCurNetif
struct netif * mCurNetif
mIntfArray
struct if_nameindex * mIntfArray
mIntfFlags
short mIntfFlags
mIntfFlagsCached
bool mIntfFlagsCached
Öffentliche Funktionen
GetInterfaceId
InterfaceId GetInterfaceId( void )
Gibt die ID der Netzwerkschnittstelle an der aktuellen Position des Iterators zurück.
Details | |||||
---|---|---|---|---|---|
Rückgabewerte |
|
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Rufen Sie den Namen der aktuellen Netzwerkschnittstelle ab.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Gibt an, ob die aktuelle Netzwerkschnittstelle eine Sendeadresse hat.
Details | |
---|---|
Rückgabe |
true , wenn die aktuelle Netzwerkschnittstelle eine Sendeadresse hat, false , wenn dies nicht der Fall ist, oder wenn der Iterator über das Ende der Liste hinaus positioniert wird |
HasCurrent
bool HasCurrent( void )
Testen Sie, ob der Iterator auf einer Schnittstelle positioniert ist.
Testen Sie, ob der Iterator an einer Schnittstellenadresse positioniert ist.
Details | |
---|---|
Rückgabe |
true , wenn sich der Iterator auf einer Schnittstelle befindet; false , wenn er über das Ende der Schnittstellenliste hinaus positioniert wird. |
Rückgabe |
true , wenn sich der Iterator an einer Schnittstellenadresse befindet; false , wenn er über das Ende der Adressenliste hinaus liegt. |
InterfaceIterator
InterfaceIterator( void )
Konstruiert ein InterfaceIterator-Objekt.
Startet den Iterator an der ersten Netzwerkschnittstelle. Auf einigen Plattformen weist dieser Konstruktor möglicherweise Ressourcen zu, die vom Destruktor recycelt wurden.
IsUp
bool IsUp( void )
Gibt an, ob die aktuelle Netzwerkschnittstelle aktiv ist.
Details | |
---|---|
Rückgabe |
true , wenn die aktuelle Netzwerkschnittstelle aktiv ist, false wenn dies nicht der Fall ist oder wenn sich der Iterator über das Ende der Liste hinaus befindet. |
Weiter
bool Next( void )
Springt zur nächsten Netzwerkschnittstelle.
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.
Details | |
---|---|
Rückgabe |
false , wenn sie über das Ende hinausgehen, andernfalls true . |
SupportsMulticast
bool SupportsMulticast( void )
Gibt an, ob die aktuelle Netzwerkschnittstelle Multicast unterstützt.
Details | |
---|---|
Rückgabe |
true , wenn die aktuelle Netzwerkschnittstelle Multicast unterstützt, false wenn dies nicht der Fall ist oder wenn sich der Iterator über das Ende der Liste hinaus befindet. |
~InterfaceIterator
~InterfaceIterator( void )
Zerstört ein InterfaceIterator-Objekt.
Verwendet alle vom Konstruktor zugewiesenen Ressourcen wieder.
Geschützte Funktionen
GetFlags
short GetFlags( void )
Gibt den ifr_flags-Wert für die aktuelle Schnittstelle zurück.