nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Esta é uma classe interna para InetLayer que fornece APIs auxiliares para resolução assíncrona do Sistema de Nomes de Domínio (DNS) no InetLayer.

Resumo

Não há interface pública disponível para a camada do aplicativo.

Funções públicas

Cancel(DNSResolver & resolver)
Cancelar uma consulta DNS pendente que ainda pode estar ativa.
EnqueueRequest(DNSResolver & resolver)
Coloca um objeto DNSResolver para resolução de endereço IP assíncrono de um nome de host especificado.
Init(InetLayer *inet)
O inicializador explícito da classe asyncDNSResolverSockets.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Esse método prepara um objeto DNSResolver antes da resolução assíncrona.
Shutdown(void)
Esse é o desinicializador explícito da classe AsyncDNSResolverSockets, que encerra as linhas de execução e destrói as variáveis mutex e semmaphore.

Funções públicas

Cancelar

INET_ERROR Cancel(
  DNSResolver & resolver
)

Cancelar uma consulta DNS pendente que ainda pode estar ativa.

Detalhes
Parâmetros
[in] resolver
Uma referência ao objeto DNSResolver.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Coloca um objeto DNSResolver para resolução de endereço IP assíncrono de um nome de host especificado.

Detalhes
Parâmetros
[in] resolver
Uma referência ao objeto DNSResolver.
Valores de retorno
INET_NO_ERROR
se uma solicitação DNS for colocada na fila com sucesso.
INET_ERROR_NO_MEMORY
se o pool do resolvedor da camada Inet estiver cheio.
other
de sistema operacional ou de rede no formato POSIX.

Init

INET_ERROR Init(
  InetLayer *inet
)

O inicializador explícito da classe asyncDNSResolverSockets.

Isso inicializa as variáveis mutex e semaphore e cria as linhas de execução para lidar com a resolução de DNS assíncrona.

Detalhes
Parâmetros
[in] aInet
Um ponteiro para o objeto InetLayer.
Valores de retorno
INET_NO_ERROR
se a inicialização for bem-sucedida.
other
de sistema operacional ou de rede no formato POSIX.

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
)

Esse método prepara um objeto DNSResolver antes da resolução assíncrona.

Detalhes
Parâmetros
[in] resolver
Uma referência a um objeto DNSResolver alocado.
[in] hostName
Um ponteiro para uma string C que representa o nome do host a ser consultado.
[in] hostNameLen
O tamanho da string do nome do host.
[in] options
Um valor inteiro que controla como a resolução do endereço do nome do host é executada. Os valores são da enumeração #DNSOptions.
[in] maxAddrs
O número máximo de endereços a serem armazenados na tabela DNS.
[in] addrArray
Um ponteiro para a tabela de DNS.
[in] onComplete
Um ponteiro para a função de callback quando uma solicitação DNS é concluída.
[in] appState
Um ponteiro para o estado do aplicativo a ser transmitido para onComplete quando uma solicitação DNS for concluída.
Valores de retorno
INET_NO_ERROR
se uma solicitação DNS for tratada com sucesso.

Desligamento

INET_ERROR Shutdown(
  void
)

Esse é o desinicializador explícito da classe AsyncDNSResolverSockets, que encerra as linhas de execução e destrói as variáveis mutex e semmaphore.

Detalhes
Valores de retorno
INET_NO_ERROR
se o encerramento for bem-sucedido.
other
de sistema operacional ou de rede no formato POSIX.