O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl::Inet:AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Essa é uma classe interna para InetLayer que fornece APIs auxiliares para a resolução de Sistema de Nome de Domínio (DNS) assíncrono no InetLayer.

Resumo

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

Funções públicas

Cancel(DNSResolver & resolver)
Cancelar uma consulta DNS pendente que ainda pode estar ativa.
EnqueueRequest(DNSResolver & resolver)
Coloque um objeto DNSResolver em fila para que o endereço IP especificado de um nome do host assíncrono seja resolvido.
Init(InetLayer *inet)
O inicializador explícito para a 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 inicializador explícito da classe AsyncDNSResolverSockets, que encerra as linhas de execução e destrói as variáveis"mutex"e"semaphore".

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.

Solicitar fila

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Coloque um objeto DNSResolver em fila para que o endereço IP especificado de um nome do host assíncrono seja resolvido.

Detalhes
Parâmetros
[in] resolver
Uma referência ao objeto DNSResolver.
Valores de retorno
INET_NO_ERROR
se uma solicitação DNS estiver na fila.
INET_ERROR_NO_MEMORY
se o pool de resolvedores de camadas do Inet estiver cheio.
other
erro de SO ou rede POSIX adequado.

Init

INET_ERROR Init(
  InetLayer *inet
)

O inicializador explícito para a classe AsyncDNSResolverSockets.

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

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
erro de SO ou rede POSIX adequado.

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 comprimento da string do nome do host.
[in] options
Um valor inteiro que controla o desempenho da resolução de endereços de nome. Os valores são da enumeração #DNSOptions.
[in] maxAddrs
Número máximo de endereços a serem armazenados na tabela DNS.
[in] addrArray
Um ponteiro para a tabela 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 passado para onComplete quando uma solicitação DNS for concluída.
Valores de retorno
INET_NO_ERROR
se uma solicitação DNS for processada com êxito.

Encerramento

INET_ERROR Shutdown(
  void
)

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

Detalhes
Valores de retorno
INET_NO_ERROR
se a desativação for bem-sucedida.
other
erro de SO ou rede POSIX adequado.