nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

To jest wewnętrzna klasa InetLayer, która udostępnia pomocnicze interfejsy API do rozpoznawania nazw DNS w InetLayer.

Podsumowanie

Publiczny interfejs dla warstwy aplikacji nie jest dostępny.

Funkcje publiczne

Cancel(DNSResolver & resolver)
Anuluj oczekujące zapytanie DNS, które może być wciąż aktywne.
EnqueueRequest(DNSResolver & resolver)
Umieść w kolejce obiekt DNSResolver na potrzeby asynchronicznego rozpoznawania adresów IP określonej nazwy hosta.
Init(InetLayer *inet)
Wyraźny inicjator klasy AsynchronousDNSRozwiążrSockets.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Ta metoda przygotowuje obiekt DNSResolver przed asynchronicznym rozpoznawaniem.
Shutdown(void)
Jest to jawny deinicjator klasy AsyncDNSResolverSockets. Zajmuje się zamykaniem wątków oraz niszczeniem zmiennych muteksów i semaforów.

Funkcje publiczne

Anuluj

INET_ERROR Cancel(
  DNSResolver & resolver
)

Anuluj oczekujące zapytanie DNS, które może być wciąż aktywne.

Szczegóły
Parametry
[in] resolver
Odwołanie do obiektu DNSResolver.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Umieść w kolejce obiekt DNSResolver na potrzeby asynchronicznego rozpoznawania adresów IP określonej nazwy hosta.

Szczegóły
Parametry
[in] resolver
Odwołanie do obiektu DNSResolver.
Zwracane wartości
INET_NO_ERROR
jeśli żądanie DNS zostało dodane do kolejki.
INET_ERROR_NO_MEMORY
jeśli pula resolvera w warstwie jest pełna.
other
odpowiedni błąd sieci POSIX lub systemu operacyjnego.

Zainicjuj

INET_ERROR Init(
  InetLayer *inet
)

Wyraźny inicjator klasy AsynchronousDNSRozwiążrSockets.

Powoduje to zainicjowanie zmiennych muteksu i semofury oraz utworzenie wątków do obsługi asynchronicznego rozpoznawania nazw DNS.

Szczegóły
Parametry
[in] aInet
Wskaźnik do obiektu InetLayer.
Zwracane wartości
INET_NO_ERROR
jeśli inicjowanie się powiedzie.
other
odpowiedni błąd sieci POSIX lub systemu operacyjnego.

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
)

Ta metoda przygotowuje obiekt DNSResolver przed asynchronicznym rozpoznawaniem.

Szczegóły
Parametry
[in] resolver
Odwołanie do przydzielonego obiektu DNSResolver.
[in] hostName
Wskaźnik do ciągu znaków C reprezentujący nazwę hosta, którego dotyczy zapytanie.
[in] hostNameLen
Długość ciągu znaków nazwy hosta.
[in] options
Wartość liczby całkowitej określająca sposób rozpoznawania adresu nazwy hosta. Wartości pochodzą z wyliczenia #DNSOptions.
[in] maxAddrs
Maksymalna liczba adresów do przechowywania w tabeli DNS.
[in] addrArray
Wskaźnik do tabeli DNS.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego po zakończeniu żądania DNS.
[in] appState
Wskaźnik do stanu aplikacji, który ma zostać przekazany do onComplete po zakończeniu żądania DNS.
Zwracane wartości
INET_NO_ERROR
jeśli żądanie DNS zostanie przetworzone pomyślnie.

Wyłączono

INET_ERROR Shutdown(
  void
)

Jest to jawny deinicjator klasy AsyncDNSResolverSockets. Zajmuje się zamykaniem wątków oraz niszczeniem zmiennych muteksów i semaforów.

Szczegóły
Zwracane wartości
INET_NO_ERROR
jeśli się uda.
other
odpowiedni błąd sieci POSIX lub systemu operacyjnego.