нл:: Инет:: Асинкдонсресольверсокетс

#include <src/inet/AsyncDNSResolverSockets.h>

Это внутренний класс InetLayer , который предоставляет вспомогательные API для разрешения асинхронной системы доменных имен (DNS) в InetLayer .

Краткое содержание

Для прикладного уровня не существует общедоступного интерфейса.

Общественные функции

Cancel ( DNSResolver & resolver)
Отмените ожидающий DNS-запрос, который, возможно, все еще активен.
EnqueueRequest ( DNSResolver & resolver)
Поставьте в очередь объект DNSResolver для асинхронного разрешения IP-адреса указанного имени хоста.
Init ( InetLayer *inet)
Явный инициализатор класса AsynchronousDNSResolverSockets.
PrepareDNSResolver ( DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Этот метод подготавливает объект DNSResolver перед асинхронным разрешением.
Shutdown (void)
Это явный деинициализатор класса AsyncDNSResolverSockets , который обеспечивает закрытие потоков и уничтожение переменных мьютекса и семафора.

Общественные функции

Отмена

INET_ERROR Cancel(
  DNSResolver & resolver
)

Отмените ожидающий DNS-запрос, который, возможно, все еще активен.

Подробности
Параметры
[in] resolver
Ссылка на объект DNSResolver .

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Поставьте в очередь объект DNSResolver для асинхронного разрешения IP-адреса указанного имени хоста.

Подробности
Параметры
[in] resolver
Ссылка на объект DNSResolver .
Возвращаемые значения
INET_NO_ERROR
если DNS-запрос успешно поставлен в очередь.
INET_ERROR_NO_MEMORY
если пул преобразователей уровня Inet заполнен.
other
соответствующая ошибка сети POSIX или ОС.

Инициализировать

INET_ERROR Init(
  InetLayer *inet
)

Явный инициализатор класса AsynchronousDNSResolverSockets.

Это инициализирует переменные мьютекса и семафора и создает потоки для обработки асинхронного разрешения DNS.

Подробности
Параметры
[in] aInet
Указатель на объект InetLayer .
Возвращаемые значения
INET_NO_ERROR
если инициализация прошла успешно.
other
соответствующая ошибка сети POSIX или ОС.

ПодготовитьDNSResolver

INET_ERROR PrepareDNSResolver(
  DNSResolver & resolver,
  const char *hostName,
  uint16_t hostNameLen,
  uint8_t options,
  uint8_t maxAddrs,
  IPAddress *addrArray,
  DNSResolver::OnResolveCompleteFunct onComplete,
  void *appState
)

Этот метод подготавливает объект DNSResolver перед асинхронным разрешением.

Подробности
Параметры
[in] resolver
Ссылка на выделенный объект DNSResolver .
[in] hostName
Указатель на строку C, представляющую имя хоста, который будет запрошен.
[in] hostNameLen
Длина строки имени хоста.
[in] options
Целочисленное значение, управляющее тем, как выполняется разрешение адреса имени хоста. Значения взяты из перечисления #DNSOptions.
[in] maxAddrs
Максимальное количество адресов для хранения в таблице DNS.
[in] addrArray
Указатель на таблицу DNS.
[in] onComplete
Указатель на функцию обратного вызова после завершения DNS-запроса.
[in] appState
Указатель на состояние приложения, который будет передан в onComplete после завершения DNS-запроса.
Возвращаемые значения
INET_NO_ERROR
если запрос DNS обработан успешно.

Неисправность

INET_ERROR Shutdown(
  void
)

Это явный деинициализатор класса AsyncDNSResolverSockets , который обеспечивает закрытие потоков и уничтожение переменных мьютекса и семафора.

Подробности
Возвращаемые значения
INET_NO_ERROR
если отключение прошло успешно.
other
соответствующая ошибка сети POSIX или ОС.