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 (DNS) asíncrono 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 pueda estar activa.
EnqueueRequest(DNSResolver & resolver)
Poner 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 desinicializador explícito de la clase AsyncDNSResolverSockets y se encarga de cerrar los subprocesos y destruir las variables de exclusión mutua y semáforo.

Funciones públicas

Cancelar

INET_ERROR Cancel(
  DNSResolver & resolver
)

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

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

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Poner 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 que se muestran
INET_NO_ERROR
si una solicitud de DNS se pone en cola correctamente.
INET_ERROR_NO_MEMORY
si el grupo de agentes de resolución de Inet Layer está completo.
other
error de SO o red POSIX adecuado.

Init

INET_ERROR Init(
  InetLayer *inet
)

El inicializador explícito para la clase AasyncDNSResolverSockets.

De esta manera, se inicializan las variables de exclusión mutua y semáforo, y se crean los subprocesos para administrar la resolución de DNS asíncrona.

Detalles
Parámetros
[in] aInet
Un puntero para el objeto InetLayer.
Valores que se muestran
INET_NO_ERROR
si la inicialización es correcta.
other
error de SO o red 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
Una referencia a un objeto DNSResolver asignado.
[in] hostName
Un puntero a una cadena C que representa el nombre del host que se consultará.
[in] hostNameLen
La longitud de la string del nombre de host.
[in] options
Un valor entero que controla cómo se realiza la resolución de la dirección del nombre del host. Los valores son de la enumeración #DNSOptions.
[in] maxAddrs
La cantidad máxima de direcciones que se almacenarán 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 al estado de la aplicación que se pasará a onComplete cuando se complete una solicitud de DNS.
Valores que se muestran
INET_NO_ERROR
si una solicitud de DNS se maneja correctamente.

Cierre

INET_ERROR Shutdown(
  void
)

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

Detalles
Valores que se muestran
INET_NO_ERROR
si el apagado es exitoso.
other
error de SO o red POSIX adecuado.