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, el transporte de red UDP y el transporte de red sin procesar para un solo subproceso.
Resumen
Para los sockets BSD/POSIX, la notificación de preparación del evento se controla mediante 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 de eventos se controla 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 públicos estáticos |
|
---|---|
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 que coincida con el estado de la aplicación) 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 del vínculo para un vínculo o una interfaz especificados.
|
GetPlatformData(void)
|
void *
Esto muestra todos los datos de plataforma específicos del cliente asignados a la instancia, si se configuró con anterioridad.
|
HandleSelectResult(int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
|
void
Controlar 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
Verifica si hay una coincidencia de prefijo entre la dirección IPv6 especificada y cualquiera de las direcciones IPv6 configuradas de forma 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
select() trabajará. |
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 para 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 para 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 para un nombre de host especificado.
|
SetPlatformData(void *aPlatformData)
|
void
Esto establece los datos especificados de la plataforma del cliente en la instancia para que la plataforma 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 no inicializado. |
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.
[SOLO LECTURA] Estado actual.
Atributos públicos estáticos
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 que coincida con 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 )
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 |
|
||||
Qué muestra |
INET_NO_ERROR de forma incondicional.
|
GetLinkLocalAddr
INET_ERROR GetLinkLocalAddr( InterfaceId link, IPAddress *llAddr )
Obtén la dirección IPv6 local del vínculo para un vínculo o una interfaz especificados.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
GetPlatformData
void * GetPlatformData( void )
Esto muestra todos los datos de plataforma específicos del cliente asignados a la instancia, si se configuró con anterioridad.
Detalles | |
---|---|
Qué muestra |
Datos de la plataforma específicos del cliente, si se configuraron con anterioridad; de lo contrario, son NULL.
|
HandleSelectResult
void HandleSelectResult( int selectRes, fd_set *readfds, fd_set *writefds, fd_set *exceptfds )
Controlar 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 control de E/S respectivas para esos extremos.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
InetLayer
InetLayer( void )
Este es el constructor predeterminado InetLayer.
Realiza una inicialización de miembros de datos básicos. 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 de InetLayer.
Se debe llamar a este método y completarlo correctamente antes de poder usar InetLayer.
El llamador puede proporcionar un argumento de contexto opcional que se pasará a través de cualquier función hook específica de la plataforma. Para las adaptaciones basadas en LwIP, por lo general, esto 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 hooks 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 que se muestran |
|
InitQueueLimiter
INET_ERROR InitQueueLimiter( void )
MatchLocalIPv6Subnet
bool MatchLocalIPv6Subnet( const IPAddress & addr )
Verifica si hay una coincidencia de prefijo entre la dirección IPv6 especificada y cualquiera de las direcciones IPv6 configuradas de forma local.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué 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 que se muestran |
|
NewTCPEndPoint
INET_ERROR NewTCPEndPoint( TCPEndPoint **retEndPoint )
Crea un objeto TCPEndPoint nuevo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
NewTunEndPoint
INET_ERROR NewTunEndPoint( TunEndPoint **retEndPoint )
Crea un objeto TunEndPoint nuevo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
NewUDPEndPoint
INET_ERROR NewUDPEndPoint( UDPEndPoint **retEndPoint )
Crea un objeto UDPEndPoint nuevo.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
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 select()
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 )
Realiza una resolución de dirección IP para un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores que se muestran |
|
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 para un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores que se muestran |
|
ResolveHostAddress
INET_ERROR ResolveHostAddress( const char *hostName, uint8_t maxAddrs, IPAddress *addrArray, DNSResolveCompleteFunct onComplete, void *appState )
Realiza una resolución de dirección IP para un nombre de host especificado.
Detalles | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||
Valores que se muestran |
|
SetPlatformData
void SetPlatformData( void *aPlatformData )
Esto establece los datos especificados de la plataforma del cliente en la instancia para que la plataforma cliente los recupere más tarde.
Detalles | |||
---|---|---|---|
Parámetros |
|
Cierre
INET_ERROR Shutdown( void )
Este es el desinicializador explícito de InetLayer y se debe llamar antes de eliminar una instancia de InetLayer con 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::DidShutdown para aplicar la limpieza de personalizaciones específicas de la plataforma o extensiones de datos a InetLayer.
Detalles | |
---|---|
Qué muestra |
INET_NO_ERROR si se realiza de forma correcta; de lo contrario, un error específico que indica el motivo del error 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 )