nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Iterator per l'elenco degli indirizzi IP delle interfacce di rete del sistema.
Riepilogo
Utilizza gli oggetti di questa classe per ripetere l'elenco degli indirizzi IP dell'interfaccia di rete del sistema.
I metodi su una singola istanza di questa classe non sono sicuri per i thread; tuttavia è possibile usare contemporaneamente istanze separate da più thread.
Nei sistemi LwIP multi-thread, le istanze sono thread-safe rispetto ad altri thread che accedono allo stato LwIP globale purché: 1) altri thread tengano il blocco del core LwIP mentre mutano l'elenco delle reti LwIP; e 2) gli oggetti netif non vengono mai eliminati.
Sui sistemi basati su socket, l'iterazione è sempre stabile di fronte alle modifiche alle interfacce e/o agli indirizzi del sistema sottostante.
Nei sistemi LwIP, l'iterazione è stabile, tranne nel caso in cui l'interfaccia associata all'indirizzo corrente venga rimossa, in questo caso l'iterazione potrebbe terminare prematuramente.
Costruttori e distruttori |
|
---|---|
InterfaceAddressIterator(void)
Crea un oggetto InterfaceAddressIterator.
|
|
~InterfaceAddressIterator(void)
Elimina un oggetto InterfaceAddressIterator.
|
Funzioni pubbliche |
|
---|---|
GetAddress(void)
|
Recupera l'indirizzo attuale dell'interfaccia.
|
GetAddressWithPrefix(IPPrefix & addrWithPrefix)
|
void
Restituisce un valore IPPrefix contenente l'indirizzo e la lunghezza del prefisso dell'indirizzo corrente.
|
GetIPv6PrefixLength(void)
|
uint8_t
Alias obsoleto per
GetPrefixLength(void) |
GetInterface(void)
|
InterfaceId
Alias obsoleto per
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Restituisce l'ID interfaccia di rete associato all'indirizzo dell'interfaccia corrente.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Recupera il nome dell'interfaccia di rete associata all'indirizzo dell'interfaccia corrente.
|
GetPrefixLength(void)
|
uint8_t
Restituisce il prefisso di rete associato all'indirizzo dell'interfaccia corrente.
|
HasBroadcastAddress(void)
|
bool
Indica se l'interfaccia di rete associata all'indirizzo dell'interfaccia corrente ha un indirizzo di trasmissione IPv4.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Indica se l'interfaccia di rete associata all'indirizzo dell'interfaccia corrente è attiva.
|
Next(void)
|
bool
Porta l'iteratore all'indirizzo dell'interfaccia successivo.
|
SupportsMulticast(void)
|
bool
Indica se l'interfaccia di rete associata all'indirizzo dell'interfaccia corrente supporta il multicast.
|
Funzioni pubbliche
GetAddress
IPAddress GetAddress( void )
Recupera l'indirizzo attuale dell'interfaccia.
Dettagli | |
---|---|
Restituisce |
l'indirizzo dell'interfaccia corrente o
IPAddress::Any se l'iteratore si trova oltre la fine dell'elenco di indirizzi. |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Restituisce un valore IPPrefix contenente l'indirizzo e la lunghezza del prefisso dell'indirizzo corrente.
GetInterfaceId
InterfaceId GetInterfaceId( void )
Restituisce l'ID interfaccia di rete associato all'indirizzo dell'interfaccia corrente.
Dettagli | |
---|---|
Restituisce |
l'ID dell'interfaccia o
INET_NULL_INTERFACEID se l'iteratore è posizionato oltre la fine dell'elenco di indirizzi. |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Recupera il nome dell'interfaccia di rete associata all'indirizzo dell'interfaccia corrente.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
GetPrefixLength
uint8_t GetPrefixLength( void )
Restituisce il prefisso di rete associato all'indirizzo dell'interfaccia corrente.
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.
Dettagli | |
---|---|
Restituisce |
il prefisso di rete (in bit) o 0 se l'iteratore è posizionato oltre la fine dell'elenco di indirizzi.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Indica se l'interfaccia di rete associata all'indirizzo dell'interfaccia corrente ha un indirizzo di trasmissione IPv4.
Dettagli | |
---|---|
Restituisce |
true se l'interfaccia ha un indirizzo di broadcast, false in caso contrario o se l'iteratore non è posizionato su un indirizzo di interfaccia. |
HasCurrent
bool HasCurrent( void )
InterfaceAddressIterator
InterfaceAddressIterator( void )
Crea un oggetto InterfaceAddressIterator.
Avvia l'iteratore al primo indirizzo di rete. Su alcune piattaforme, il costruttore potrebbe allocare risorse riciclate dal distruttore.
IsUp
bool IsUp( void )
Indica se l'interfaccia di rete associata all'indirizzo dell'interfaccia corrente è attiva.
Dettagli | |
---|---|
Restituisce |
true se l'interfaccia di rete corrente è attiva, false in caso contrario o se l'iteratore non è posizionato su un indirizzo di interfaccia. |
Avanti
bool Next( void )
Porta l'iteratore all'indirizzo dell'interfaccia successivo.
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.
Dettagli | |
---|---|
Restituisce |
false se avanzata oltre la fine, altrimenti true . |
SupportsMulticast
bool SupportsMulticast( void )
Indica se l'interfaccia di rete associata all'indirizzo dell'interfaccia corrente supporta il multicast.
Dettagli | |
---|---|
Restituisce |
true se il multicast è supportato, false in caso contrario o se l'iteratore non è posizionato su un indirizzo di interfaccia. |
~InterfaceAddressIterator
~InterfaceAddressIterator( void )
Elimina un oggetto InterfaceAddressIterator.
Riciclo le risorse allocate dal costruttore.