nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Iterador para la lista de direcciones IP de la interfaz de red del sistema.
Resumen
Usa objetos de esta clase para iterar la lista de direcciones IP de la interfaz de red del sistema.
Los métodos en una instancia individual de esta clase no son seguros para los subprocesos. Sin embargo, varios subprocesos pueden usar de forma simultánea instancias separadas.
En los sistemas LwIP de varios subprocesos, las instancias son seguras para los subprocesos en comparación con otros subprocesos que acceden al estado LwIP global, siempre y cuando: 1) otros subprocesos tengan el bloqueo del núcleo de LwIP mientras mutan la lista de netifs; y 2) el objeto netif nunca se destruyen.
En los sistemas basados en sockets, la iteración siempre es estable ante cambios en las interfaces o direcciones del sistema subyacente.
En los sistemas LwIP, la iteración es estable, excepto en el caso en el que se quita la interfaz asociada con la dirección actual, en cuyo caso la iteración puede finalizar de forma prematura.
Constructores y destructores |
|
---|---|
InterfaceAddressIterator(void)
Construye un objeto InterfaceAddressIterator.
|
|
~InterfaceAddressIterator(void)
Destruye un objeto InterfaceAddressIterator.
|
Funciones públicas |
|
---|---|
GetAddress(void)
|
Obtén la dirección de la interfaz actual.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
Muestra un IPPrefix que contiene la dirección y la longitud de prefijo de la dirección actual.
|
GetIPv6PrefixLength(void)
|
uint8_t
Alias obsoleto para
GetPrefixLength(void) |
GetInterface(void)
|
InterfaceId
Alias obsoleto para
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Muestra el ID de la interfaz de red asociado con la dirección de la interfaz actual.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Obtén el nombre de la interfaz de red asociada con la dirección de la interfaz actual.
|
GetPrefixLength(void)
|
uint8_t
Obtiene el prefijo de red asociado a la dirección de la interfaz actual.
|
HasBroadcastAddress(void)
|
bool
Muestra si la interfaz de red asociada a la dirección de la interfaz actual tiene una dirección de transmisión IPv4.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Muestra si la interfaz de red asociada a la dirección de la interfaz actual está activa.
|
Next(void)
|
bool
Avanza el iterador a la siguiente dirección de la interfaz.
|
SupportsMulticast(void)
|
bool
Muestra si la interfaz de red asociada a la dirección de la interfaz actual admite multidifusión.
|
Funciones públicas
GetAddress
IPAddress GetAddress( void )
Obtén la dirección de la interfaz actual.
Detalles | |
---|---|
Resultado que se muestra |
la dirección de la interfaz actual o
IPAddress::Any si el iterador se posiciona más allá del final de la lista de direcciones. |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Muestra un IPPrefix que contiene la dirección y la longitud de prefijo de la dirección actual.
GetInterfaceId
InterfaceId GetInterfaceId( void )
Muestra el ID de la interfaz de red asociado con la dirección de la interfaz actual.
Detalles | |
---|---|
Resultado que se muestra |
el ID de interfaz o
INET_NULL_INTERFACEID si el iterador se posiciona más allá del final de la lista de direcciones |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Obtén el nombre de la interfaz de red asociada con la dirección de la interfaz actual.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
GetPrefixLength
uint8_t GetPrefixLength( void )
Obtiene el prefijo de red asociado a la dirección de la interfaz actual.
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.
Detalles | |
---|---|
Resultado que se muestra |
el prefijo de la red (en bits) o 0 si el iterador se posiciona más allá del final de la lista de direcciones.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Muestra si la interfaz de red asociada a la dirección de la interfaz actual tiene una dirección de transmisión IPv4.
Detalles | |
---|---|
Resultado que se muestra |
true si la interfaz tiene una dirección de transmisión, false si no es así, o si el iterador no está posicionado en una dirección de interfaz. |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
InterfaceAddressIterator( void )
Construye un objeto InterfaceAddressIterator.
Inicia el iterador en la primera dirección de red. En algunas plataformas, este constructor puede asignar recursos reciclados por el destructor.
IsUp
bool IsUp( void )
Muestra si la interfaz de red asociada a la dirección de la interfaz actual está activa.
Detalles | |
---|---|
Resultado que se muestra |
true si la interfaz de red actual está activa, false si no es así o si el iterador no está posicionado en una dirección de interfaz. |
Siguiente
bool Next( void )
Avanza el iterador a la siguiente dirección de la interfaz.
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.
Detalles | |
---|---|
Resultado que se muestra |
false si se avanza más allá del final, de lo contrario, true . |
SupportsMulticast
bool SupportsMulticast( void )
Muestra si la interfaz de red asociada a la dirección de la interfaz actual admite multidifusión.
Detalles | |
---|---|
Resultado que se muestra |
true si se admite la multidifusión, false si no es así, o si el iterador no está posicionado en una dirección de interfaz. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
Destruye un objeto InterfaceAddressIterator.
Recicla cualquier recurso asignado por el constructor.