nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Ciò consente di accedere ai servizi internet, inclusi timer, risoluzione DNS (Domain Name System), trasporto di rete TCP, trasporto di rete UDP e trasporto di rete non elaborato, per un singolo thread.
Riepilogo
Per i socket BSD/POSIX, la notifica di idoneità degli eventi viene gestita tramite descrittori di file e un'implementazione tradizionale di tipo poll / select nell'adattamento della piattaforma.
Per LwIP, la notifica di idoneità degli eventi viene gestita tramite eventi / messaggi e hook specifici della piattaforma e del sistema per il sistema di eventi / messaggi.
Costruttori e distruttori |
|
---|---|
InetLayer(void)
Questo è il costruttore predefinito di InetLayer.
|
Tipi pubblici |
|
---|---|
@5{
|
enum Lo stato attuale dell'oggetto InetLayer. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
Attributi pubblici |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
Lo stato attuale dell'oggetto InetLayer.
|
Attributi statici pubblici |
|
---|---|
sInetEventHandlerDelegate
|
Funzioni pubbliche |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Annulla qualsiasi query DNS in sospeso (per un callback di completamento corrispondente e uno stato dell'applicazione) che potrebbero essere 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)
|
Ottieni l'indirizzo IPv6 locale del collegamento di un collegamento o un'interfaccia specifici.
|
GetPlatformData(void)
|
void *
Vengono restituiti tutti i dati della piattaforma specifici del client assegnati all'istanza, se sono stati impostati in precedenza.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Gestisci l'I/O di una chiamata selezionata.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Questo è l'inizializzatore esplicito InetLayer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Controlla se esiste una corrispondenza di prefisso tra l'indirizzo IPv6 specificato e uno qualsiasi 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 dei file con cui lavorare
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Esegui la 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 la risoluzione dell'indirizzo IP di un nome host specificato.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Esegui la risoluzione dell'indirizzo IP di un nome host specificato.
|
SetPlatformData(void *aPlatformData)
|
void
In questo modo, i dati della piattaforma specifici del client vengono impostati nell'istanza per recuperarli in un secondo momento dalla piattaforma client.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
Funzioni statiche 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 InetLayer.
Proprietà | |
---|---|
kState_Initialized
|
Stato inizializzato. |
kState_NotInitialized
|
Stato non inizializzato. |
kState_ShutdownInProgress
|
Stato in cui è stato attivato lo spegnimento. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Attributi pubblici
Stato
enum nl::Inet::InetLayer::@5 State
Lo stato attuale dell'oggetto InetLayer.
[SOLA LETTURA] Stato attuale.
Attributi statici pubblici
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Funzioni pubbliche
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Annulla qualsiasi query DNS in sospeso (per un callback di completamento corrispondente e uno stato dell'applicazione) che potrebbero essere 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 ricavare l'identificatore dell'interfaccia, viene impostato su INET_NULL_INTERFACEID.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Restituisce |
INET_NO_ERROR in modo incondizionato.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Ottieni l'indirizzo IPv6 locale del collegamento di un collegamento o un'interfaccia specifici.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
GetPlatformData
void * GetPlatformData( void )
Vengono restituiti tutti i dati della piattaforma specifici del client assegnati all'istanza, se sono stati impostati in precedenza.
Dettagli | |
---|---|
Restituisce |
I dati della piattaforma specifici del client, se sono stati impostati in precedenza. In caso contrario, il valore è NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Gestisci l'I/O di una chiamata selezionata.
Questo metodo registra l'evento I/O in sospeso in ciascun endpoint attivo e quindi richiama le rispettive funzioni di gestione di I/O per questi endpoint.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
InetLayer
InetLayer( void )
Questo è il costruttore predefinito di InetLayer.
Esegue alcune operazioni di base di inizializzazione dei membri dei dati. Tuttavia, poiché InetLayer segue un pattern di progettazione dell'inizializzazione esplicito, il metodo Inetlayer::Init deve essere chiamato correttamente prima di utilizzare l'oggetto.
Inizia
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Questo è l'inizializzatore esplicito InetLayer.
Questa operazione deve essere chiamata e completata correttamente prima di poter utilizzare InetLayer.
Il chiamante può fornire un argomento di contesto facoltativo che verrà restituito tramite qualsiasi funzione di hook specifica della piattaforma. Per gli adattamenti basati su LwIP, in genere è un puntatore alla coda di eventi associata all'istanza InetLayer.
Le piattaforme possono scegliere di inserire INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS nell'intestazione di configurazione specifica della piattaforma e abilitare gli hook Platform::Inetlayer::WillInit e Platform::Inetlayer::DidInit per applicare personalizzazioni specifiche della piattaforma o estensioni di dati a InetLayer.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Controlla se esiste una corrispondenza di prefisso tra l'indirizzo IPv6 specificato e uno qualsiasi degli indirizzi IPv6 configurati localmente.
Dettagli | |||
---|---|---|---|
Parametri |
|
||
Restituisce |
true se viene rilevata una corrispondenza riuscita, altrimenti false.
|
NewRawEndPoint
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 restituiti |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crea un nuovo oggetto TCPEndPoint.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crea un nuovo oggetto TunEndPoint.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crea un nuovo oggetto UDPEndPoint.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Prepara i set di descrittori dei file con cui lavorare 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 la risoluzione dell'indirizzo IP di un nome host specificato.
Dettagli | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||
Valori restituiti |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Esegui la risoluzione dell'indirizzo IP di un nome host specificato.
Dettagli | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||
Valori restituiti |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Esegui la risoluzione dell'indirizzo IP di un nome host specificato.
Dettagli | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||
Valori restituiti |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
In questo modo, i dati della piattaforma specifici del client vengono impostati nell'istanza per recuperarli in un secondo momento dalla piattaforma client.
Dettagli | |||
---|---|---|---|
Parametri |
|
Arresto
INET_ERROR Shutdown( void )
Questo è il deinizializzatore esplicito di InetLayer e deve essere chiamato prima dello smaltimento di un'istanza InetLayer creata un'istanza.
Le piattaforme possono scegliere di dichiarare INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS nell'intestazione di configurazione specifica della piattaforma e abilitare gli hook Platform::Inetlayer::WillShutdown e Platform::Inetlayer::DidShutdown per eseguire la pulizia delle personalizzazioni specifiche della piattaforma o delle estensioni di dati su InetLayer.
Dettagli | |
---|---|
Restituisce |
INET_NO_ERROR in caso di esito positivo; in caso contrario, si tratta di un errore specifico che indica il motivo dell'errore di arresto.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
Funzioni statiche pubbliche
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )