nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Esta es una clase interna de InetLayer que proporciona APIs auxiliares para la resolución del sistema de nombres de dominio asíncrono (DNS) en InetLayer.

Resumen

No hay una interfaz pública disponible para la capa de la aplicación.

Funciones públicas

Cancel(DNSResolver & resolver)
Cancela una consulta de DNS pendiente que aún puede estar activa.
EnqueueRequest(DNSResolver & resolver)
Coloca en cola un objeto DNSResolver para la resolución de dirección IP asíncrona de un nombre de host especificado.
Init(InetLayer *inet)
El inicializador explícito para la clase AasyncDNSResolverSockets.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Este método prepara un objeto DNSResolver antes de la resolución asíncrona.
Shutdown(void)
Este es el deinicializador explícito de la clase AsyncDNSResolverSockets y se encarga de cerrar los subprocesos y destruir las variables de exclusión mutua y de semáforo.

Funciones públicas

Cancelar

INET_ERROR Cancel(
  DNSResolver & resolver
)

Cancela una consulta de DNS pendiente que aún puede estar activa.

Detalles
Parámetros
[in] resolver
Una referencia al objeto DNSResolver.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Coloca en cola un objeto DNSResolver para la resolución de dirección IP asíncrona de un nombre de host especificado.

Detalles
Parámetros
[in] resolver
Una referencia al objeto DNSResolver.
Valores de retorno
INET_NO_ERROR
si una solicitud de DNS se pone en cola con éxito.
INET_ERROR_NO_MEMORY
si el grupo de resolución de capa de Inet está completo.
other
el error de SO o de la red POSIX correspondiente.

Init

INET_ERROR Init(
  InetLayer *inet
)

El inicializador explícito para la clase AasyncDNSResolverSockets.

Esto inicializa las variables de exclusión mutua y de semáforo, y crea los subprocesos para manejar la resolución de DNS asíncrona.

Detalles
Parámetros
[in] aInet
Un puntero al objeto InetLayer.
Valores de retorno
INET_NO_ERROR
si la inicialización es exitosa.
other
el error de SO o de la red POSIX correspondiente.

PrepareDNSResolver

INET_ERROR PrepareDNSResolver(
  DNSResolver & resolver,
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolver::OnResolveCompleteFunct onComplete,
  void *appState
)

Este método prepara un objeto DNSResolver antes de la resolución asíncrona.

Detalles
Parámetros
[in] resolver
Una referencia a un objeto DNSResolver asignado.
[in] hostName
Un puntero para una cadena C que representa el nombre de host que se consultará.
[in] hostNameLen
La longitud de cadena del nombre de host.
[in] options
Un valor entero que controla cómo se realiza la resolución de dirección de nombre de host. Los valores son de la enumeración #DNSOptions.
[in] maxAddrs
La cantidad máxima de direcciones que se deben almacenar en la tabla de DNS.
[in] addrArray
Un puntero a la tabla de DNS.
[in] onComplete
Un puntero a la función de devolución de llamada cuando se completa una solicitud de DNS.
[in] appState
Un puntero para el estado de la aplicación que se pasará a onComplete cuando se complete una solicitud de DNS.
Valores de retorno
INET_NO_ERROR
si una solicitud de DNS se maneja con éxito.

Cierre

INET_ERROR Shutdown(
  void
)

Este es el deinicializador explícito de la clase AsyncDNSResolverSockets y se encarga de cerrar los subprocesos y destruir las variables de exclusión mutua y de semáforo.

Detalles
Valores de retorno
INET_NO_ERROR
si el cierre es exitoso.
other
la red POSIX adecuada o el error de SO.