nl::Inet::InterfaceAddressDecrypt

#include <src/inet/InetInterface.h>

TensorBoard für die Liste der IP-Adressen der Systemnetzwerkschnittstelle.

Fazit

Verwenden Sie Objekte dieser Klasse, um die Liste der IP-Adressen der Systemnetzwerkschnittstelle zu iterieren.

Methoden für eine einzelne Instanz dieser Klasse sind nicht threadsicher. Separate Instanzen können jedoch von mehreren Threads gleichzeitig verwendet werden.

Auf Multi-Thread-LwIP-Systemen sind Instanzen threadsicher im Vergleich zu anderen Threads, die auf den globalen LwIP-Status zugreifen. Voraussetzung ist, dass 1) andere Threads die LwIP-Core-Sperre beibehalten und dabei die Liste mit Netifs modifizieren, und 2) netif-Objekte selbst nie gelöscht werden.

Auf Socket-basierten Systemen ist die Iteration bei Änderungen der zugrunde liegenden Systemschnittstellen und/oder Adressen immer stabil.

Auf LwIP-Systemen ist die Iteration stabil, es sei denn, die Schnittstelle, die mit der aktuellen Adresse verknüpft ist, wird vorzeitig beendet.

Konstrukteur und Zerstörer

InterfaceAddressIterator(void)
Erstellt ein InterfaceAddress unterschiedlich-Objekt.
~InterfaceAddressIterator(void)
Löscht ein InterfaceAddressDecrypt-Objekt.

Öffentliche Funktionen

GetAddress(void)
Rufen Sie die aktuelle Schnittstellenadresse ab.
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
void
Gibt ein IPPrefix-Objekt zurück, das die Adresse und die Präfixlänge für die aktuelle Adresse enthält.
GetIPv6PrefixLength(void)
uint8_t
Eingestellter Alias für GetPrefixLength(void)
GetInterface(void)
InterfaceId
Eingestellter Alias für GetInterfaceId(void)
GetInterfaceId(void)
InterfaceId
Gibt die ID der Netzwerkschnittstelle zurück, die mit der aktuellen Schnittstellenadresse verknüpft ist.
GetInterfaceName(char *nameBuf, size_t nameBufSize)
Rufen Sie den Namen der Netzwerkschnittstelle ab, die mit der aktuellen Schnittstellenadresse verknüpft ist.
GetPrefixLength(void)
uint8_t
Ruft das Netzwerkpräfix ab, das mit der aktuellen Schnittstellenadresse verknüpft ist
HasBroadcastAddress(void)
bool
Gibt an, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle eine IPv4-Broadcast-Adresse hat.
HasCurrent(void)
bool
IsUp(void)
bool
Gibt zurück, ob die der aktuellen Schnittstelle entsprechende Netzwerkschnittstelle aktiv ist.
Next(void)
bool
Weiter mit Recommender zur nächsten Schnittstellenadresse wechseln
SupportsMulticast(void)
bool
Gibt zurück, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle Multicast unterstützt.

Öffentliche Funktionen

Adresse abrufen

IPAddress GetAddress(
  void
)

Rufen Sie die aktuelle Schnittstellenadresse ab.

Details
Rückgabe
die aktuelle Schnittstellenadresse oder IPAddress::Any, wenn der Recommender über das Ende der Adressenliste hinausgeht.

GetAddressWithPrefix

void GetAddressWithPrefix(
  IPPrefix & addrWithPrefix
)

Gibt ein IPPrefix-Objekt zurück, das die Adresse und die Präfixlänge für die aktuelle Adresse enthält.

GetIPv6PräfixLänge

uint8_t GetIPv6PrefixLength(
  void
)

Eingestellter Alias für GetPrefixLength(void)

Schnittstelle abrufen

InterfaceId GetInterface(
  void
)

Eingestellter Alias für GetInterfaceId(void)

GetInterfaceId

InterfaceId GetInterfaceId(
  void
)

Gibt die ID der Netzwerkschnittstelle zurück, die mit der aktuellen Schnittstellenadresse verknüpft ist.

Details
Rückgabe
die Schnittstellen-ID oder INET_NULL_INTERFACEID, wenn der Recommender über das Ende der Adressenliste hinausgeht

Name der Benutzeroberfläche

INET_ERROR GetInterfaceName(
  char *nameBuf,
  size_t nameBufSize
)

Rufen Sie den Namen der Netzwerkschnittstelle ab, die mit der aktuellen Schnittstellenadresse verknüpft ist.

Writes the name of the network interface as \c NUL terminated text string
at \c nameBuf.

Details
Parameter
[in] nameBuf
Region des Arbeitsspeichers, in dem der Schnittstellenname geschrieben wird
[in] nameBufSize
Größe der Region, gekennzeichnet durch nameBuf
Rückgabewerte
INET_NO_ERROR
Erfolgreiches Ergebnis, Schnittstellenname geschrieben
INET_ERROR_NO_MEMORY
Name ist zu groß, um in Zwischenspeicher geschrieben zu werden
INET_ERROR_INCORRECT_STATE
Der Recommender befindet sich derzeit nicht an einer Schnittstellenadresse
other
System- oder Plattformfehler

GetPrefixLänge

uint8_t GetPrefixLength(
  void
)

Ruft das Netzwerkpräfix ab, das mit der aktuellen Schnittstellenadresse verknüpft ist

On LwIP, this method simply returns the hard-coded constant 64.

Note Well: the standard subnet prefix on all links other than PPP
links is 64 bits. On PPP links and some non-broadcast multipoint access
links, the convention is either 127 bits or 128 bits, but it might be
something else. On most platforms, the system's interface address
structure can represent arbitrary prefix lengths between 0 and 128.

Details
Rückgabe
Das Netzwerkpräfix (in Bit) oder 0, wenn der Recommender über das Ende der Adressenliste hinausgeht.

HatNachricht an alle

bool HasBroadcastAddress(
  void
)

Gibt an, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle eine IPv4-Broadcast-Adresse hat.

Details
Rückgabe
true, wenn die Schnittstelle eine Sendeadresse hat, false, wenn nicht, oder wenn der Recommender nicht an einer Schnittstellenadresse positioniert ist.

HatAktueller

bool HasCurrent(
  void
)

SchnittstelleAddressBeispiele

 InterfaceAddressIterator(
  void
)

Erstellt ein InterfaceAddress unterschiedlich-Objekt.

Startet den Hyperparameter an der ersten Netzwerkadresse. Auf einigen Plattformen kann dieser Konstruktor Ressourcen zuweisen, die vom Zerstörer recycelt wurden.

IsUp

bool IsUp(
  void
)

Gibt zurück, ob die der aktuellen Schnittstelle entsprechende Netzwerkschnittstelle aktiv ist.

Details
Rückgabe
true, wenn die aktuelle Netzwerkschnittstelle hoch ist, false, wenn nicht, oder wenn der Recommender nicht an einer Schnittstellenadresse positioniert ist.

Weiter

bool Next(
  void
)

Weiter mit Recommender zur nächsten Schnittstellenadresse wechseln

Advances the iterator to the next interface address or to a position
beyond the end of the address list.

On LwIP, this method is thread-safe provided that: 1) other threads hold
the LwIP core lock while mutating the netif list; and 2) netif objects
themselves are never destroyed.  Additionally, iteration on LwIP systems
will terminate early if the current interface is removed from the list.

Details
Rückgabe
false, wenn die Kampagne nicht am Ende liegt, ansonsten true.

Unterstützt Multicast

bool SupportsMulticast(
  void
)

Gibt zurück, ob die mit der aktuellen Schnittstellenadresse verknüpfte Netzwerkschnittstelle Multicast unterstützt.

Details
Rückgabe
true, wenn Multicast unterstützt wird, false, wenn nicht, oder wenn der Recommender nicht an einer Schnittstellenadresse positioniert ist.

~InterfaceAddressDecrypter

 ~InterfaceAddressIterator(
  void
)

Löscht ein InterfaceAddressDecrypt-Objekt.

Recycelt alle Ressourcen, die dem Konstruktor zugewiesen sind.