nl :: Inet :: InetLayer
#include <src/inet/InetLayer.h>
Esto proporciona acceso a servicios de Internet, incluidos temporizadores, resolución del sistema de nombres de dominio (DNS), transporte de red TCP, transporte de red UDP y transporte de red sin procesar, para un solo subproceso.
Resumen
Para BSD / POSIX Sockets, la notificación de preparación de eventos se maneja a través de descriptores de archivo y una implementación tradicional de encuesta / selección en la adaptación de la plataforma.
Para LwIP, la notificación de preparación de eventos se maneja a través de eventos / mensajes y enlaces específicos de la plataforma y del sistema para el sistema de eventos / mensajes.
Constructores y Destructores | |
---|---|
InetLayer (void) Este es el constructor predeterminado de InetLayer . |
Tipos públicos | |
---|---|
@5 { | enumeración 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 publicas | |
---|---|
CanEnqueueDroppableEvent (void) | bool |
CancelResolveHostAddress (DNSResolveCompleteFunct onComplete, void *appState) | void Cancele cualquier consulta de DNS pendiente (para una devolución de llamada de finalización coincidente y el estado de la aplicación) que aún pueda estar activa. |
DroppableEventDequeued (void) | void |
GetInterfaceFromAddr (const IPAddress & addr, InterfaceId & intfId) | Obtenga el identificador de interfaz para la dirección IP especificada. |
GetLinkLocalAddr (InterfaceId link, IPAddress *llAddr) | Obtenga la dirección IPv6 local del enlace para un enlace o interfaz especificados. |
GetPlatformData (void) | void * Esto devuelve cualquier dato de plataforma específico del cliente asignado a la instancia, si se ha configurado previamente. |
HandleSelectResult (int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds) | void Manejar E / S desde una llamada seleccionada. |
Init ( Weave::System::Layer & aSystemLayer, void *aContext) | Este es el inicializador explícito de InetLayer . |
InitQueueLimiter (void) | |
MatchLocalIPv6Subnet (const IPAddress & addr) | bool Compruebe si hay una coincidencia de prefijo entre la dirección IPv6 especificada y cualquiera de las direcciones IPv6 configuradas localmente. |
NewRawEndPoint (IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint) | Crea un nuevo objeto RawEndPoint para una versión y un protocolo de IP específicos. |
NewTCPEndPoint ( TCPEndPoint **retEndPoint) | Crea un nuevo objeto TCPEndPoint . |
NewTunEndPoint ( TunEndPoint **retEndPoint) | Crea un nuevo objeto TunEndPoint . |
NewUDPEndPoint ( UDPEndPoint **retEndPoint) | Crea un nuevo objeto UDPEndPoint . |
PrepareSelect (int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime) | void Prepare los conjuntos de descriptores de archivo con los que trabajar con select() . |
ResolveHostAddress (const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState) | Realice 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) | Realice 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) | Realice una resolución de dirección IP de un nombre de host especificado. |
SetPlatformData (void *aPlatformData) | void Esto establece los datos de la plataforma específicos del cliente especificados en la instancia para su posterior recuperación por parte de la plataforma del cliente. |
Shutdown (void) | Este es el desinicializador explícito de InetLayer y se debe llamar antes de eliminar una instancia de InetLayer instanciada. |
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 inicializado. |
kState_NotInitialized | Estado no inicializado. |
kState_ShutdownInProgress | Estado donde se ha activado el apagado. |
DNSResolveCompleteFunct
DNSResolver::OnResolveCompleteFunct DNSResolveCompleteFunct
Atributos públicos
Expresar
enum nl::Inet::InetLayer::@5 State
El estado actual del objeto InetLayer .
[SOLO LECTURA] Estado actual.
Atributos estáticos públicos
sInetEventHandlerDelegate
Weave::System::LwIPEventHandlerDelegate sInetEventHandlerDelegate
Funciones publicas
CanEnqueueDroppableEvent
bool CanEnqueueDroppableEvent( void )
CancelarResolverHostAddress
void CancelResolveHostAddress( DNSResolveCompleteFunct onComplete, void *appState )
Cancele cualquier consulta de DNS pendiente (para una devolución de llamada de finalización coincidente y el estado de la aplicación) que aún pueda estar activa.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
DroppableEventDequeued
void DroppableEventDequeued( void )
GetInterfaceFromAddr
INET_ERROR GetInterfaceFromAddr( const IPAddress & addr, InterfaceId & intfId )
Obtenga 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 |
| ||||
Devoluciones | INET_NO_ERROR incondicionalmente. |
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Obtenga la dirección IPv6 local del enlace para un enlace o interfaz especificados.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
GetPlatformData
void * GetPlatformData( void )
Esto devuelve cualquier dato de plataforma específico del cliente asignado a la instancia, si se ha configurado previamente.
Detalles | |
---|---|
Devoluciones | Datos de plataforma específicos del cliente, si se ha configurado previamente; de lo contrario, NULL. |
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Manejar E / S desde una llamada seleccionada.
Este método registra el evento de E / S pendiente en cada punto final activo y luego invoca las funciones de manejo de E / S respectivas para esos puntos finales.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
InetLayer
InetLayer( void )
Este es el constructor predeterminado de InetLayer .
Realiza una inicialización básica de miembros de datos; sin embargo, dado que InetLayer sigue un patrón de diseño de inicializador explícito, el método InetLayer :: Init debe llamarse correctamente antes de usar el objeto.
En eso
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Este es el inicializador explícito de InetLayer .
Esto se debe llamar y completar correctamente antes de que se pueda usar InetLayer .
La persona que llama puede proporcionar un argumento de contexto opcional que se devolverá a través de cualquier función de enlace específica de la plataforma. Para las adaptaciones basadas en LwIP, normalmente será un puntero a la cola de eventos asociada con la instancia de InetLayer .
Las plataformas pueden optar por afirmar INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS en su encabezado de configuración específica de la plataforma y habilitar los enlaces Platform :: InetLayer :: WillInit y Platform :: InetLayer :: DidInit para realizar personalizaciones específicas de la plataforma o extensiones de datos para InetLayer .
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Compruebe si hay una coincidencia de prefijo entre la dirección IPv6 especificada y cualquiera de las direcciones IPv6 configuradas localmente.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | Es verdadero si se encuentra una coincidencia exitosa; de lo contrario, es falso. |
NewRawEndPoint
INET_ERROR NewRawEndPoint( IPVersion ipVer, IPProtocol ipProto, RawEndPoint **retEndPoint )
Crea un nuevo objeto RawEndPoint para una versión y un protocolo de IP específicos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crea un nuevo objeto TCPEndPoint .
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crea un nuevo objeto TunEndPoint .
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crea un nuevo objeto UDPEndPoint .
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
PrepararSeleccionar
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Prepare los conjuntos de descriptores de archivo con los que trabajar con 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 )
Realice una resolución de dirección IP de un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||||||
Valores devueltos |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint16_t hostNameLen, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Realice una resolución de dirección IP de un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||||||
Valores devueltos |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Realice una resolución de dirección IP de un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||||||
Valores devueltos |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Esto establece los datos de la plataforma específicos del cliente especificados en la instancia para su posterior recuperación por parte de la plataforma del cliente.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cerrar
INET_ERROR Shutdown( void )
Este es el desinicializador explícito de InetLayer y se debe llamar antes de eliminar una instancia de InetLayer instanciada.
Las plataformas pueden optar por afirmar INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS en su encabezado de configuración específica de plataforma y habilitar los enlaces Platform :: InetLayer :: WillShutdown y Platform :: InetLayer :: DidShutdown para efectuar la limpieza de personalizaciones específicas de la plataforma o extensiones de datos en InetLayer .
Detalles | |
---|---|
Devoluciones | INET_NO_ERROR en caso de éxito; de lo contrario, un error específico que indica el motivo de la falla de 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 )
UpdateSnapshot
void UpdateSnapshot( nl::Weave::System::Stats::Snapshot & aSnapshot )