nl:: Inet:: Inet Layer
#include <src/inet/InetLayer.h>
Consente di accedere a servizi Internet, inclusi timer, risoluzione DNS (Domain Name System), trasporto della rete TCP, trasporto della rete UDP e trasporto di rete non elaborato, per un singolo thread.
Riepilogo
Per BSD/POSIX Sockets, la notifica di idoneità all'evento viene gestita tramite descrittori di file e un'implementazione tradizionale di sondaggio / selezione sull'adattamento della piattaforma.
Per LwIP, la notifica di idoneità agli eventi viene gestita tramite eventi / messaggi e hook specifici per piattaforma e sistema per il sistema di eventi / messaggi.
Costruttori e distruttori |
|
---|---|
InetLayer(void)
Questo è il costruttore predefinito Inet Layer.
|
Tipi pubblici |
|
---|---|
@5{
|
enum Lo stato attuale dell'oggetto Inet Layer. |
DNSResolveCompleteFunct
|
tipodefDNSResolver::OnResolveCompleteFunct
|
Attributi pubblici |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
Lo stato attuale dell'oggetto Inet Layer.
|
Attributi statici pubblici |
|
---|---|
sInetEventHandlerDelegate
|
Funzioni pubbliche |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Annulla tutte le query DNS in sospeso (per una richiamata di completamento del completamento e uno stato dell'applicazione) ancora attive.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Recupera l'identificatore di interfaccia per l'indirizzo IP specificato.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Recupera l'indirizzo IPv6 del link locale per un link o un'interfaccia specificati.
|
GetPlatformData(void)
|
void *
Restituisce tutti i dati della piattaforma specifici del client assegnati all'istanza, se sono stati precedentemente impostati.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Gestisci I/O da una chiamata selezionata.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Questo è l'inizializzazionetore esplicito Inet Layer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Verifica se esiste una corrispondenza di prefisso tra l'indirizzo IPv6 specificato e uno degli indirizzi IPv6 configurati localmente.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
Crea un nuovo oggetto RawEndPoint per una versione e un protocollo IP specifici.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
Crea un nuovo oggetto TCPEndPoint.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
Crea un nuovo oggetto TunEndPoint.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
Crea un nuovo oggetto UDPEndPoint.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
Prepara i set di descrittori di file da utilizzare con
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Esegui una risoluzione dell'indirizzo IP di un nome host specificato.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Esegui una risoluzione dell'indirizzo IP di un nome host specificato.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Esegui una risoluzione dell'indirizzo IP di un nome host specificato.
|
SetPlatformData(void *aPlatformData)
|
void
Imposta i dati specifici della piattaforma specificata sull'istanza per recuperarli in un secondo momento dalla piattaforma client.
|
Shutdown(void)
|
Si tratta del deinizializzatore esplicito Inet Layer che deve essere chiamato prima di eliminare un'istanza Inet Layer creata un'istanza.
|
SystemLayer(void) const
|
Funzioni pubbliche pubbliche |
|
---|---|
HandleInetLayerEvent(Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument)
|
Weave::System::Error
|
IsDroppableEvent(Weave::System::EventType aType)
|
bool
|
UpdateSnapshot(nl::Weave::System::Stats::Snapshot & aSnapshot)
|
void
|
Tipi pubblici
@5
@5
Lo stato attuale dell'oggetto Inet Layer.
Proprietà | |
---|---|
kState_Initialized
|
Stato inizializzato. |
kState_NotInitialized
|
Stato non inizializzato. |
kState_ShutdownInProgress
|
Stato in cui è stato attivato l'arresto. |
Risolvere DNSRisolvere
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Attributi pubblici
Stato
enum nl::Inet::InetLayer::@5 State
Lo stato attuale dell'oggetto Inet Layer.
[sola lettura] Stato attuale.
Attributi statici pubblici
sInetEventHandlerDelegato
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Funzioni pubbliche
EventoCanCanqueueDroppable
bool CanEnqueueDroppableEvent( void )
Annulla capacità host
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Annulla tutte le query DNS in sospeso (per una richiamata di completamento del completamento e uno stato dell'applicazione) ancora attive.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Recupera l'identificatore di interfaccia per l'indirizzo IP specificato.
Se non è possibile derivare l'identificatore dell'interfaccia, è impostato su INET_NULL_INTERFACEID.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
INET_NO_ERROR incondizionatamente.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Recupera l'indirizzo IPv6 del link locale per un link o un'interfaccia specificati.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori di ritorno |
|
DatiPiattaformaGet
void * GetPlatformData( void )
Restituisce tutti i dati della piattaforma specifici del client assegnati all'istanza, se sono stati precedentemente impostati.
Dettagli | |
---|---|
Restituisce |
Dati della piattaforma specifici del client, se sono stati impostati in precedenza; altrimenti, NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Gestisci I/O da una chiamata selezionata.
Questo metodo registra l'evento I/O in attesa in ogni endpoint attivo e richiama le rispettive funzioni di gestione I/O per tali endpoint.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
InetLayer
InetLayer( void )
Questo è il costruttore predefinito Inet Layer.
Esegue un'inizializzazione di base dei membri dei dati; tuttavia, poiché Inet Layer segue un modello di progettazione dell'inizializzazionetore esplicito, il metodo Inet Layer::Init deve essere chiamato correttamente prima di utilizzare l'oggetto.
Iniziale
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Questo è l'inizializzazionetore esplicito Inet Layer.
Questa funzione deve essere chiamata e completata correttamente prima dell'utilizzo di Inet Layer.
Il chiamante può fornire un argomento di contesto facoltativo che verrà restituito tramite funzioni di hook specifiche della piattaforma. Per gli adattamenti basati su LwIP, in genere si tratta di un puntatore alla coda degli eventi associata all'istanza Inet Layer.
Le piattaforme possono scegliere di rivendicare INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS nell'intestazione di configurazione specifica della piattaforma e attivare gli hook Platform::Inet Layer::WillInit e Platform::Inet Layer::DidInit per eseguire personalizzazioni specifiche della piattaforma o estensioni dei dati in Inet Layer.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori di ritorno |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
Corrispondenza MatchLocalIPv6
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Verifica se esiste una corrispondenza di prefisso tra l'indirizzo IPv6 specificato e uno degli indirizzi IPv6 configurati localmente.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
true se viene trovata una corrispondenza riuscita, altrimenti false.
|
NuovoRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Crea un nuovo oggetto RawEndPoint per una versione e un protocollo IP specifici.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
Nuovo punto di arrivo TCP
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crea un nuovo oggetto TCPEndPoint.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crea un nuovo oggetto TunEndPoint.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
Nuovo endpoint UDP
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crea un nuovo oggetto UDPEndPoint.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori di ritorno |
|
Preparati
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Prepara i set di descrittori di file da utilizzare con select()
.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Esegui una risoluzione dell'indirizzo IP di un nome host specificato.
Dettagli | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||
Valori di ritorno |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Esegui una risoluzione dell'indirizzo IP di un nome host specificato.
Dettagli | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||
Valori di ritorno |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Esegui una risoluzione dell'indirizzo IP di un nome host specificato.
Dettagli | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||
Valori di ritorno |
|
DatiPiattaforma
void SetPlatformData( void *aPlatformData )
Imposta i dati specifici della piattaforma specificata sull'istanza per recuperarli in un secondo momento dalla piattaforma client.
Dettagli | |||
---|---|---|---|
Parametri |
|
Chiusura
INET_ERROR Shutdown( void )
Si tratta del deinizializzatore esplicito Inet Layer che deve essere chiamato prima di eliminare un'istanza Inet Layer creata un'istanza.
Le piattaforme possono scegliere di rivendicare INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS nell'intestazione di configurazione specifica della piattaforma e attivare gli hook Platform::Inet Layer::WillShutdown e Platform::Inet Layer::DidShutdown per eseguire la pulizia delle personalizzazioni o delle estensioni dei dati specifiche della piattaforma per Inet Layer.
Dettagli | |
---|---|
Restituisce |
INET_NO_ERROR riuscita; in caso contrario, si tratta di un errore specifico che indica il motivo dell'errore di arresto.
|
Livello di sistema
Weave::System::Layer * SystemLayer( void ) const
Funzioni pubbliche pubbliche
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
Evento IsDroppable
bool IsDroppableEvent( Weave::System::EventType aType )