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 el sistema para el sistema de eventos / mensajes.
Constructores y Destructores | |
---|---|
InetLayer (void) Esta es la InetLayer constructor por defecto. |
Tipos públicos | |
---|---|
@5 { | enumeración El estado actual de la InetLayer objeto. |
DNSResolveCompleteFunct | typedefDNSResolver::OnResolveCompleteFunct |
Atributos públicos | |
---|---|
State | enum nl::Inet::InetLayer::@5 El estado actual de la InetLayer objeto. |
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) | Esta es la InetLayer inicializador explícito. |
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 RawEndPoint objeto para una versión específica de IP y el protocolo. |
NewTCPEndPoint ( TCPEndPoint **retEndPoint) | Crea un nuevo TCPEndPoint objeto. |
NewTunEndPoint ( TunEndPoint **retEndPoint) | Crea un nuevo TunEndPoint objeto. |
NewUDPEndPoint ( UDPEndPoint **retEndPoint) | Crea un nuevo UDPEndPoint objeto. |
PrepareSelect (int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime) | void Preparar los conjuntos de descriptores de fichero para select() para trabajar. |
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) | |
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 de la InetLayer objeto.
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 de la InetLayer objeto.
[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 puede derivarse que se establece en la 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 la 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 )
Esta es la InetLayer constructor por defecto.
Realiza una inicialización básica de miembros de datos; Sin embargo, dado que InetLayer sigue un patrón de diseño de inicialización explícita, la InetLayer :: Init método debe ser llamado con éxito antes de usar el objeto.
En eso
INET_ERROR Init( Weave::System::Layer & aSystemLayer, void *aContext )
Esta es la InetLayer inicializador explícito.
Esto se debe llamar y completar con éxito ante el InetLayer puede ser utilizado.
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 adaptaciones basadas en lwip, esto será típicamente un puntero a la cola de eventos asociados a la InetLayer ejemplo.
Plataformas pueden optar por hacer valer INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS en su cabecera configuración de la plataforma específica y permitir la Plataforma :: :: InetLayer WillInit y Plataforma :: :: ganchos InetLayer DidInit a efectos específicos de la plataforma de datos personalizaciones o extensiones a 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 RawEndPoint objeto para una versión específica de IP y el protocolo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crea un nuevo TCPEndPoint objeto.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crea un nuevo TunEndPoint objeto.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crea un nuevo UDPEndPoint objeto.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
PrepararSeleccionar
void PrepareSelect( int & nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval & sleepTime )
Preparar los conjuntos de descriptores de fichero para select()
para trabajar.
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 )
Esta es la InetLayer deinitializer explícita y debe ser llamado antes de disponer de una instancia InetLayer ejemplo.
Plataformas pueden optar por hacer valer INET_CONFIG_WILL_OVERRIDE_PLATFORM_XTOR_FUNCS en su cabecera la configuración específica de la plataforma y permitir que la plataforma :: :: InetLayer WillShutdown y Plataforma :: :: InetLayer DidShutdown ganchos a efecto de limpieza de las personalizaciones específicas de la plataforma o extensiones de datos a InetLayer .
Detalles | |
---|---|
Devoluciones | INET_NO_ERROR en el é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 )