Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl:: Inet:: InterfaceIterator

#include <src/inet/InetInterface.h>

Iterator für die Liste der Systemnetzwerkschnittstellen.

Zusammenfassung

Verwenden Sie Objekte dieser Klasse, um die Liste der Systemnetzwerkschnittstellen zu durchlaufen.

Methoden , die auf eine einzelne Instanz dieser Klasse sind nicht threadsicher; jedoch können separate Instanzen gleichzeitig von mehreren Threads verwendet werden.

Auf Multithread-LwIP-Systemen sind Instanzen relativ zu anderen Threads, die auf den globalen LwIP-Zustand zugreifen, threadsicher, vorausgesetzt, die anderen Threads halten die LwIP-Kernsperre, während sie die Netif-Liste mutieren, und das Netif-Objekt selbst wird nie zerstört.

Auf Socket-basierten Systemen ist die Iteration angesichts von Änderungen an den Schnittstellen des zugrunde liegenden Systems immer stabil.

Auf LwIP-Systemen ist die Iteration stabil, außer wenn die aktuell ausgewählte Schnittstelle aus der Liste entfernt wird. In diesem Fall endet die Iteration sofort.

Konstruktoren und Destruktoren

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
Veraltete alias für GetInterfaceId(void)
GetInterfaceId (void)
InterfaceId
Gibt die Netzwerkschnittstellen-ID an der aktuellen Iteratorposition zurück.
GetInterfaceName (char *nameBuf, size_t nameBufSize)
Rufen Sie den Namen der aktuellen Netzwerkschnittstelle ab.
HasBroadcastAddress (void)
bool
Gibt zurück, ob die aktuelle Netzwerkschnittstelle eine Broadcast-Adresse hat.
HasCurrent (void)
bool
Testen Sie, ob der Iterator auf einer Schnittstelle positioniert ist.
IsUp (void)
bool
Gibt zurück, ob die aktuelle Netzwerkschnittstelle aktiv ist.
Next (void)
bool
Verschieben Sie den Iterator zur nächsten Netzwerkschnittstelle.
SupportsMulticast (void)
bool
Gibt zurück, 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

GetInterface

InterfaceId GetInterface(
  void
)

Veraltete alias für GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Gibt die Netzwerkschnittstellen-ID an der aktuellen Iteratorposition zurück.

Einzelheiten
Rückgabewerte
INET_NULL_INTERFACEID
wenn über das Ende der Liste hinaus vorgerückt.
id
die aktuelle Netzwerkschnittstellen-ID.

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.

Einzelheiten
Parameter
[in] nameBuf
Speicherbereich, um den Schnittstellennamen zu schreiben
[in] nameBufSize
Größe der durch bezeichnete Region nameBuf
Rückgabewerte
INET_NO_ERROR
erfolgreiches Ergebnis, Schnittstellenname geschrieben
INET_ERROR_INCORRECT_STATE
Iterator ist über das Ende der Liste hinaus positioniert
INET_ERROR_NO_MEMORY
Name ist zu groß, um in den Puffer geschrieben zu werden
other
ein anderer System- oder Plattformfehler

HasBroadcastAdresse

bool HasBroadcastAddress(
  void
)

Gibt zurück, ob die aktuelle Netzwerkschnittstelle eine Broadcast-Adresse hat.

Einzelheiten
Kehrt zurück
true , wenn die aktuelle Netzwerkschnittstelle hat eine Broadcast - Adresse, false ist , wenn nicht, oder wenn der Iterator über das Ende der Liste positioniert.

HasAktuell

bool HasCurrent(
  void
)

Testen Sie, ob der Iterator auf einer Schnittstelle positioniert ist.

Testen Sie, ob der Iterator auf einer Schnittstellenadresse positioniert ist.

Einzelheiten
Kehrt zurück
true , wenn der Iterator auf einer Grenzfläche angeordnet ist ; false , wenn über das Ende der Schnittstellenliste positioniert.
Kehrt zurück
true , wenn der Iterator auf einer Schnittstellenadresse positioniert ist ; false , wenn über das Ende der Adressliste positioniert.

InterfaceIterator

 InterfaceIterator(
  void
)

Konstruiert ein InterfaceIterator Objekt.

Startet den Iterator an der ersten Netzwerkschnittstelle. Auf einigen Plattformen kann dieser Konstruktor vom Destruktor recycelte Ressourcen zuweisen.

Ist oben

bool IsUp(
  void
)

Gibt zurück, ob die aktuelle Netzwerkschnittstelle aktiv ist.

Einzelheiten
Kehrt zurück
true , wenn die aktuelle Netzwerkschnittstelle auf, false , wenn nicht , oder wenn der Iterator über das Ende der Liste positioniert ist.

Nächster

bool Next(
  void
)

Verschieben Sie den Iterator 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.

Einzelheiten
Kehrt zurück
false , wenn über das Ende vorgerückt, sonst true .

UnterstütztMulticast

bool SupportsMulticast(
  void
)

Gibt zurück, ob die aktuelle Netzwerkschnittstelle Multicast unterstützt.

Einzelheiten
Kehrt zurück
true , wenn die aktuelle Netzwerkschnittstelle unterstützt Multicast, false wenn nicht, oder wenn der Iterator über das Ende der Liste positioniert.

~InterfaceIterator

 ~InterfaceIterator(
  void
)

Zerstört ein InterfaceIterator Objekt.

Recycelt alle vom Konstruktor zugewiesenen Ressourcen.

Geschützte Funktionen

GetFlags

short GetFlags(
  void
)

Gibt den ifr_flags-Wert für die aktuelle Schnittstelle zurück.