нл:: Инет:: Асинкдонсресольверсокетс
#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-запрос, который, возможно, все еще активен.
EnqueueRequest
INET_ERROR EnqueueRequest(
DNSResolver & resolver
)
Поставьте в очередь объект DNSResolver для асинхронного разрешения IP-адреса указанного имени хоста.
Подробности | Параметры | |
Возвращаемые значения | INET_NO_ERROR | если DNS-запрос успешно поставлен в очередь. | INET_ERROR_NO_MEMORY | если пул преобразователей уровня Inet заполнен. | other | соответствующая ошибка сети POSIX или ОС. |
|
В этом
INET_ERROR Init(
InetLayer *inet
)
Явный инициализатор класса AsynchronousDNSResolverSockets.
Это инициализирует переменные мьютекса и семафора и создает потоки для обработки асинхронного разрешения DNS.
Подробности | Параметры | |
Возвращаемые значения | 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 | | [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 или ОС. |
|