En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Inet :: AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Esta es una clase interna para InetLayer que proporciona APIs de ayuda para la resolución asíncrono Domain Name System (DNS) en InetLayer .

Resumen

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

Funciones publicas

Cancel ( DNSResolver & resolver)
Cancele una consulta de DNS pendiente que aún pueda estar activa.
EnqueueRequest ( DNSResolver & resolver)
Poner en cola un DNSResolver objeto para asíncrono resolución de la dirección IP de un nombre de host especificado.
Init ( InetLayer *inet)
El inicializador explícito de la clase AsynchronousDNSResolverSockets.
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 se prepara un DNSResolver objeto antes de la resolución asíncrona.
Shutdown (void)
Esta es la deinitializer explícito de la AsyncDNSResolverSockets clase y que se encarga de cerrar los hilos y destruir el mutex y variables de semáforos.

Funciones publicas

Cancelar

INET_ERROR Cancel(
  DNSResolver & resolver
)

Cancele una consulta de DNS pendiente que aún pueda estar activa.

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

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

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

Detalles
Parámetros
[in] resolver
Una referencia a la DNSResolver objeto.
Valores devueltos
INET_NO_ERROR
si una solicitud de DNS se pone en cola correctamente.
INET_ERROR_NO_MEMORY
si el grupo de resolución de la capa Inet está lleno.
other
error apropiado de la red POSIX o del sistema operativo.

En eso

INET_ERROR Init(
  InetLayer *inet
)

El inicializador explícito de la clase AsynchronousDNSResolverSockets.

Esto inicializa las variables mutex y semáforo y crea los subprocesos para manejar la resolución DNS asincrónica.

Detalles
Parámetros
[in] aInet
Un puntero a la InetLayer objeto.
Valores devueltos
INET_NO_ERROR
si la inicialización es exitosa.
other
error apropiado de la red POSIX o del sistema operativo.

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 se prepara un DNSResolver objeto antes de la resolución asíncrona.

Detalles
Parámetros
[in] resolver
Una referencia a un asignado DNSResolver objeto.
[in] hostName
Un puntero a una cadena C que representa el nombre de host que se va a consultar.
[in] hostNameLen
La longitud de la cadena del nombre de host.
[in] options
Un valor entero que controla cómo se realiza la resolución de la dirección del nombre de host. Los valores son de la enumeración #DNSOptions.
[in] maxAddrs
El número máximo de direcciones para almacenar en la tabla DNS.
[in] addrArray
Un puntero a la tabla 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 al estado de la aplicación que se pasará a onComplete cuando se complete una solicitud de DNS.
Valores devueltos
INET_NO_ERROR
si una solicitud de DNS se maneja con éxito.

Cerrar

INET_ERROR Shutdown(
  void
)

Esta es la deinitializer explícito de la AsyncDNSResolverSockets clase y que se encarga de cerrar los hilos y destruir el mutex y variables de semáforos.

Detalles
Valores devueltos
INET_NO_ERROR
si el apagado es exitoso.
other
error apropiado de la red POSIX o del sistema operativo.