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 de InetLayer que proporciona API de ayuda para la resolución asíncrona del sistema de nombres de dominio (DNS) en InetLayer.

Resumen

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

Funciones públicas

Cancel(DNSResolver & resolver)
Cancelar una consulta de DNS pendiente que aún esté activa
EnqueueRequest(DNSResolver & resolver)
Colocar en cola un objeto DNSResolver para la resolución asíncrona de direcciones IP 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 inicializador explícito de la clase AsyncDNSResolverSockets y se encarga de cerrar los subprocesos y destruir las variables de exclusiones mutuas y semáforos.

Funciones públicas

Cancelar

INET_ERROR Cancel(
  DNSResolver & resolver
)

Cancelar una consulta de DNS pendiente que aún esté activa

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

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Colocar en cola un objeto DNSResolver para la resolución asíncrona de direcciones IP de un nombre de host especificado

Detalles
Parámetros
[in] resolver
Una referencia al objeto DNSResolver.
Valores que se muestran
INET_NO_ERROR
si una solicitud de DNS se pone en cola correctamente.
INET_ERROR_NO_MEMORY
si el grupo de agente de resolución de Inet está lleno.
other
error de red o SO POSIX adecuado.

Init

INET_ERROR Init(
  InetLayer *inet
)

El inicializador explícito para la clase AasyncDNSResolverSockets.

De este modo, se inicializan las variables de exclusiones mutuas y semáforos, y se crean subprocesos para controlar la resolución de DNS asíncrona.

Detalles
Parámetros
[in] aInet
Un puntero al objeto InetLayer.
Valores que se muestran
INET_NO_ERROR
si la inicialización es correcta.
other
error de red o SO POSIX adecuado.

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
Es una referencia a un objeto DNSResolver asignado.
[in] hostName
Un puntero para una string en C que representa el nombre del host que se consultará.
[in] hostNameLen
La longitud de string del nombre de host.
[in] options
Valor entero que controla cómo se realiza la resolución de la dirección del nombre de host. Los valores provienen 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 para la tabla de DNS.
[in] onComplete
Un puntero para 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 del DNS.
Valores que se muestran
INET_NO_ERROR
si una solicitud de DNS se controla correctamente.

Cierre

INET_ERROR Shutdown(
  void
)

Este es el inicializador explícito de la clase AsyncDNSResolverSockets y se encarga de cerrar los subprocesos y destruir las variables de exclusiones mutuas y semáforos.

Detalles
Valores que se muestran
INET_NO_ERROR
si se cierra correctamente.
other
error de red o SO POSIX adecuado.