nl:: Inet:: InterfaceAddressIterator
#include <src/inet/InetInterface.h>
Iteratore per l'elenco degli indirizzi IP delle interfacce di rete del sistema.
Riepilogo
Utilizza gli oggetti di questa classe per iterare l'elenco degli indirizzi IP delle interfacce di rete del sistema.
I metodi su una singola istanza di questa classe non sono compatibili con i thread; tuttavia, istanze separate possono essere utilizzate contemporaneamente da più thread.
Sui sistemi LwIP multi-threaded, le istanze sono thread-safe rispetto ad altri thread che accedono allo stato LwIP globale a condizione che: 1) altri thread contengano il blocco del core LwIP mentre si modifica l'elenco delle netif; e 2) l'oggetto netif stesso non viene mai distrutto.
Sui sistemi basati su socket, l'iterazione è sempre stabile nonostante le modifiche alle interfacce e/o agli indirizzi del sistema sottostante.
Sui sistemi LwIP, l'iterazione è stabile, tranne nel caso in cui l'interfaccia associata all'indirizzo corrente venga rimossa, nel qual 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 IPPrefix contenente l'indirizzo e la lunghezza del prefisso per l'indirizzo corrente.
|
GetIPv6PrefixLength(void)
|
uint8_t
Alias deprecato per
GetPrefixLength(void) |
GetInterface(void)
|
InterfaceId
Alias deprecato per
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Restituisce l'ID dell'interfaccia di rete associato all'indirizzo dell'interfaccia corrente.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Ottieni il nome dell'interfaccia di rete associata all'indirizzo dell'interfaccia corrente.
|
GetPrefixLength(void)
|
uint8_t
Restituisce il prefisso di rete associato all'indirizzo di interfaccia corrente.
|
HasBroadcastAddress(void)
|
bool
Indica se l'interfaccia di rete associata all'indirizzo di interfaccia corrente ha un indirizzo di broadcast IPv4.
|
HasCurrent(void)
|
bool
|
IsUp(void)
|
bool
Indica se l'interfaccia di rete associata all'indirizzo di interfaccia corrente è attiva.
|
Next(void)
|
bool
Fai avanzare l'iteratore all'indirizzo di 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 corrente dell'interfaccia o
IPAddress::Any se l'iteratore si trova oltre la fine dell'elenco di indirizzi. |
GetAddressWithPrefix
void GetAddressWithPrefix( IPPrefix & addrWithPrefix )
Restituisce un IPPrefix contenente l'indirizzo e la lunghezza del prefisso per l'indirizzo corrente.
GetInterfaceId
InterfaceId GetInterfaceId( void )
Restituisce l'ID dell'interfaccia di rete associato all'indirizzo dell'interfaccia corrente.
Dettagli | |
---|---|
Restituisce |
l'ID interfaccia o
INET_NULL_INTERFACEID se l'iteratore si trova oltre la fine dell'elenco di indirizzi. |
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Ottieni 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 di 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 si trova oltre la fine dell'elenco di indirizzi.
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Indica se l'interfaccia di rete associata all'indirizzo di interfaccia corrente ha un indirizzo di broadcast IPv4.
Dettagli | |
---|---|
Restituisce |
true se l'interfaccia ha un indirizzo di trasmissione, 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 in corrispondenza del primo indirizzo di rete. Su alcune piattaforme, questo costruttore potrebbe allocare risorse riciclate dal distruttore.
IsUp
bool IsUp( void )
Indica se l'interfaccia di rete associata all'indirizzo di interfaccia corrente è attiva.
Dettagli | |
---|---|
Restituisce |
true se l'interfaccia di rete attuale è attiva, false in caso contrario o se l'iteratore non è posizionato su un indirizzo di interfaccia. |
Avanti
bool Next( void )
Fai avanzare l'iteratore all'indirizzo di 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 si è 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.
Ricicla tutte le risorse allocate dal costruttore.