nl:: Inet:: InterfaceIterator
#include <src/inet/InetInterface.h>
Iteratore per l'elenco delle interfacce di rete del sistema.
Riepilogo
Utilizza gli oggetti di questa classe per iterare l'elenco delle interfacce di rete di 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.
Nei sistemi LwIP multi-thread, le istanze sono thread-safe rispetto ad altri thread che accedono allo stato LwIP globale, a condizione che gli altri thread contengano il core lock LwIP durante la modifica dell'elenco delle reti netif e che l'oggetto netif stesso non venga mai eliminato.
Sui sistemi basati su socket, l'iterazione è sempre stabile nonostante le modifiche alle interfacce del sistema sottostante.
Sui sistemi LwIP, l'iterazione è stabile, tranne nel caso in cui l'interfaccia attualmente selezionata venga rimossa dall'elenco, nel qual caso l'iterazione termina immediatamente.
Costruttori e distruttori |
|
---|---|
InterfaceIterator(void)
Crea un oggetto InterfaceIterator.
|
|
~InterfaceIterator(void)
Elimina un oggetto InterfaceIterator.
|
Attributi protetti |
|
---|---|
mCurIntf
|
size_t
|
mCurNetif
|
struct netif *
|
mIntfArray
|
struct if_nameindex *
|
mIntfFlags
|
short
|
mIntfFlagsCached
|
bool
|
Funzioni pubbliche |
|
---|---|
GetInterface(void)
|
InterfaceId
Alias deprecato per
GetInterfaceId(void) |
GetInterfaceId(void)
|
InterfaceId
Restituisce l'ID dell'interfaccia di rete nella posizione dell'iteratore corrente.
|
GetInterfaceName(char *nameBuf, size_t nameBufSize)
|
Ottieni il nome dell'attuale interfaccia di rete.
|
HasBroadcastAddress(void)
|
bool
Indica se l'interfaccia di rete corrente ha un indirizzo di broadcast.
|
HasCurrent(void)
|
bool
Verifica se l'iteratore è posizionato su un'interfaccia.
|
IsUp(void)
|
bool
Indica se l'interfaccia di rete corrente è attiva.
|
Next(void)
|
bool
Fai avanzare l'iteratore all'interfaccia di rete successiva.
|
SupportsMulticast(void)
|
bool
Indica se l'interfaccia di rete corrente supporta il multicast.
|
Funzioni protette |
|
---|---|
GetFlags(void)
|
short
Restituisce il valore ifr_flags per l'interfaccia corrente.
|
Attributi protetti
mCurIntf
size_t mCurIntf
mCurNetif
struct netif * mCurNetif
mIntfArray
struct if_nameindex * mIntfArray
mIntfFlags
short mIntfFlags
mIntfFlagsCached
bool mIntfFlagsCached
Funzioni pubbliche
GetInterfaceId
InterfaceId GetInterfaceId( void )
Restituisce l'ID dell'interfaccia di rete nella posizione dell'iteratore corrente.
Dettagli | |||||
---|---|---|---|---|---|
Valori restituiti |
|
GetInterfaceName
INET_ERROR GetInterfaceName( char *nameBuf, size_t nameBufSize )
Ottieni il nome dell'attuale interfaccia di rete.
Writes the name of the network interface as \c NUL terminated text string at \c nameBuf.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
HasBroadcastAddress
bool HasBroadcastAddress( void )
Indica se l'interfaccia di rete corrente ha un indirizzo di broadcast.
Dettagli | |
---|---|
Restituisce |
true se l'attuale interfaccia di rete ha un indirizzo di trasmissione, false in caso contrario o se l'iteratore si trova oltre la fine dell'elenco. |
HasCurrent
bool HasCurrent( void )
Verifica se l'iteratore è posizionato su un'interfaccia.
Verifica se l'iteratore è posizionato su un indirizzo di interfaccia.
Dettagli | |
---|---|
Restituisce |
true se l'iteratore è posizionato su un'interfaccia; false se posizionato oltre la fine dell'elenco delle interfacce. |
Restituisce |
true se l'iteratore è posizionato su un indirizzo di interfaccia; false se posizionato oltre la fine dell'elenco di indirizzi. |
InterfaceIterator
InterfaceIterator( void )
Crea un oggetto InterfaceIterator.
Avvia l'iteratore sulla prima interfaccia di rete. Su alcune piattaforme, questo costruttore potrebbe allocare risorse riciclate dal distruttore.
IsUp
bool IsUp( void )
Indica se l'interfaccia di rete corrente è attiva.
Dettagli | |
---|---|
Restituisce |
true se l'interfaccia di rete attuale è attiva, false in caso contrario o se l'iteratore si trova oltre la fine dell'elenco. |
Avanti
bool Next( void )
Fai avanzare l'iteratore all'interfaccia di rete successiva.
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.
Dettagli | |
---|---|
Restituisce |
false se si è avanzata oltre la fine, altrimenti true . |
SupportsMulticast
bool SupportsMulticast( void )
Indica se l'interfaccia di rete corrente supporta il multicast.
Dettagli | |
---|---|
Restituisce |
true se l'interfaccia di rete attuale supporta il multicast, false in caso contrario o se l'iteratore si trova oltre la fine dell'elenco. |
~InterfaceIterator
~InterfaceIterator( void )
Elimina un oggetto InterfaceIterator.
Ricicla tutte le risorse allocate dal costruttore.
Funzioni protette
GetFlags
short GetFlags( void )
Restituisce il valore ifr_flags per l'interfaccia corrente.