nl:: Inet:: InetLayer
#include <src/inet/InetLayer.h>
Esto proporciona acceso a los servicios de Internet, incluidos los temporizadores, la resolución del sistema de nombres de dominio (DNS), el transporte de red TCP, de red UDP y de red sin procesar, para un solo subproceso.
Resumen
Para los sockets de BSD/POSIX, la notificación de preparación de eventos se maneja a través de descriptores de archivos y una implementación tradicional de sondeo o selección en la adaptación de la plataforma.
Para LwIP, la notificación de preparación del evento se maneja a través de eventos / mensajes y hooks específicos de la plataforma y del sistema para el sistema de eventos / mensajes.
Constructores y destructores |
|
---|---|
InetLayer(void)
Este es el constructor predeterminado InetLayer.
|
Tipos públicos |
|
---|---|
@5{
|
enum El estado actual del objeto InetLayer. |
DNSResolveCompleteFunct
|
typedefDNSResolver::OnResolveCompleteFunct
|
Atributos públicos |
|
---|---|
State
|
enum nl::Inet::InetLayer::@5
El estado actual del objeto InetLayer.
|
Atributos estáticos públicos |
|
---|---|
sInetEventHandlerDelegate
|
Funciones públicas |
|
---|---|
CanEnqueueDroppableEvent(void)
|
bool
|
CancelResolveHostAddress(DNSResolveCompleteFunct onComplete, void *appState)
|
void
Cancela cualquier consulta de DNS pendiente (para una devolución de llamada de finalización y un estado de aplicación coincidentes) que aún pueda estar activa.
|
DroppableEventDequeued(void)
|
void
|
GetInterfaceFromAddr(const IPAddress & addr, InterfaceId & intfId)
|
Obtén el identificador de interfaz para la dirección IP especificada.
|
GetLinkLocalAddr(InterfaceId link, IPAddress *llAddr)
|
Obtén la dirección IPv6 local de vínculo de un vínculo o una interfaz especificados.
|
GetPlatformData(void)
|
void *
Esto muestra los datos de plataforma específicos del cliente asignados a la instancia, si se configuraron previamente.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Controla la E/S desde una llamada seleccionada.
|
Init(Weave::System::Layer & aSystemLayer, void *aContext)
|
Este es el inicializador explícito InetLayer.
|
InitQueueLimiter(void)
|
|
MatchLocalIPv6Subnet(const IPAddress & addr)
|
bool
Comprueba si hay una coincidencia de prefijo entre la dirección IPv6 especificada y cualquiera de las direcciones IPv6 configuradas de manera local.
|
NewRawEndPoint(IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint)
|
Crea un objeto RawEndPoint nuevo para una versión de IP y un protocolo específicos.
|
NewTCPEndPoint(TCPEndPoint **retEndPoint)
|
Crea un objeto TCPEndPoint nuevo.
|
NewTunEndPoint(TunEndPoint **retEndPoint)
|
Crea un objeto TunEndPoint nuevo.
|
NewUDPEndPoint(UDPEndPoint **retEndPoint)
|
Crea un objeto UDPEndPoint nuevo.
|
PrepareSelect(int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime)
|
void
Prepara los conjuntos de descriptores de archivos con los que trabajará
select() . |
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Realiza una resolución de dirección IP de un nombre de host especificado.
|
ResolveHostAddress(const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Realiza una resolución de dirección IP de un nombre de host especificado.
|
ResolveHostAddress(const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState)
|
Realiza una resolución de dirección IP de un nombre de host especificado.
|
SetPlatformData(void *aPlatformData)
|
void
Esto establece los datos especificados de la plataforma específicos del cliente en la instancia para que la plataforma del cliente los recupere más tarde.
|
Shutdown(void)
|
|
SystemLayer(void) const
|
Funciones estáticas públicas |
|
---|---|
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
|
Tipos públicos
@5
@5
El estado actual del objeto InetLayer.
Propiedades | |
---|---|
kState_Initialized
|
Estado de inicialización. |
kState_NotInitialized
|
Estado sin inicializar. |
kState_ShutdownInProgress
|
Estado en el que se activó el cierre. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Atributos públicos
Estado
enum nl::Inet::InetLayer::@5 State
El estado actual del objeto InetLayer.
[READ-ONLY] El estado actual.
Atributos estáticos públicos
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Funciones públicas
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelResolveHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Cancela cualquier consulta de DNS pendiente (para una devolución de llamada de finalización y un estado de aplicación coincidentes) que aún pueda estar activa.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Obtén el identificador de interfaz para la dirección IP especificada.
Si el identificador de interfaz no se puede derivar, se establece en INET_NULL_INTERFACEID.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Resultado que se muestra |
INET_NO_ERROR de forma incondicional.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Obtén la dirección IPv6 local de vínculo de un vínculo o una interfaz especificados.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
GetPlatformData
void * GetPlatformData( void )
Esto muestra los datos de plataforma específicos del cliente asignados a la instancia, si se configuraron previamente.
Detalles | |
---|---|
Resultado que se muestra |
Datos de la plataforma específicos del cliente, si se configuraron previamente de lo contrario, NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Controla la E/S desde una llamada seleccionada.
Este método registra el evento de E/S pendiente en cada extremo activo y, luego, invoca las funciones de manejo de E/S respectivas para esos extremos.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
InetLayer
InetLayer( void )
Este es el constructor predeterminado InetLayer.
Lleva a cabo la inicialización básica de los miembros de datos. Sin embargo, dado que InetLayer sigue un patrón de diseño de inicializador explícito, se debe llamar correctamente al método InetLayer::Init antes de usar el objeto.
Init
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Este es el inicializador explícito InetLayer.
Se debe llamar y completar correctamente antes de que se pueda usar InetLayer.
El llamador puede proporcionar un argumento de contexto opcional que se pasará a través de cualquier función de enlace específica de la plataforma. Para las adaptaciones basadas en LwIP, por lo general, será un puntero a la cola de eventos asociada con la instancia InetLayer.
Las plataformas pueden elegir confirmar INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS en el encabezado de configuración específica de la plataforma y habilitar los enlaces Platform::InetLayer::WillInit y Platform::InetLayer::didInit para aplicar personalizaciones específicas de la plataforma o extensiones de datos a InetLayer.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Comprueba si hay una coincidencia de prefijo entre la dirección IPv6 especificada y cualquiera de las direcciones IPv6 configuradas de manera local.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Resultado que se muestra |
true si se encuentra una coincidencia exitosa; de lo contrario, es falso.
|
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Crea un objeto RawEndPoint nuevo para una versión de IP y un protocolo específicos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crea un objeto TCPEndPoint nuevo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crea un objeto TunEndPoint nuevo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crea un objeto UDPEndPoint nuevo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
PrepareSelect
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Prepara los conjuntos de descriptores de archivos con los que trabajará select()
.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Realiza una resolución de dirección IP de un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores de retorno |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Realiza una resolución de dirección IP de un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores de retorno |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Realiza una resolución de dirección IP de un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores de retorno |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Esto establece los datos especificados de la plataforma específicos del cliente en la instancia para que la plataforma del cliente los recupere más tarde.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cierre
INET_ERROR Shutdown( void )
Este es el deinicializador explícito InetLayer y se debe llamar antes de eliminar una instancia de InetLayer en la que se haya creado una instancia.
Las plataformas pueden elegir confirmar INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS en el encabezado de configuración específica de la plataforma y habilitar los hooks Platform::InetLayer::WillShutdown y Platform::InetLayer::lista de espera para realizar la limpieza de las personalizaciones específicas de la plataforma o las extensiones de datos en InetLayer.
Detalles | |
---|---|
Resultado que se muestra |
INET_NO_ERROR si la operación es exitosa; de lo contrario, un error específico
que indica el motivo del fallo en el apagado.
|
SystemLayer
Weave::System::Layer * SystemLayer( void ) const
Funciones estáticas públicas
HandleInetLayerEvent
Weave::System::Error HandleInetLayerEvent( Weave::System::Object & aTarget, Weave::System::EventType aEventType, uintptr_t aArgument )
IsDroppableEvent
bool IsDroppableEvent( Weave::System::EventType aType )