nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Ini adalah class internal untuk InetLayer yang menyediakan API bantuan untuk resolusi Asynchronous Domain Name System (DNS) di InetLayer.

Ringkasan

Tidak ada antarmuka publik yang tersedia untuk lapisan aplikasi.

Fungsi publik

Cancel(DNSResolver & resolver)
Membatalkan kueri DNS terutang yang mungkin masih aktif.
EnqueueRequest(DNSResolver & resolver)
Mengantrekan objek DNSResolver untuk resolusi alamat IP asinkron dari nama host yang ditentukan.
Init(InetLayer *inet)
Penginisialisasi eksplisit untuk class AsynchronousDNSResolverSockets.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Metode ini menyiapkan objek DNSResolver sebelum resolusi asinkron.
Shutdown(void)
Ini adalah deinisialisasi eksplisit dari class AsyncDNSResolverSockets dan menangani penonaktifan thread serta menghancurkan variabel mutex dan semaphore.

Fungsi publik

Batal

INET_ERROR Cancel(
  DNSResolver & resolver
)

Membatalkan kueri DNS terutang yang mungkin masih aktif.

Detail
Parameter
[in] resolver
Referensi ke objek DNSResolver.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Mengantrekan objek DNSResolver untuk resolusi alamat IP asinkron dari nama host yang ditentukan.

Detail
Parameter
[in] resolver
Referensi ke objek DNSResolver.
Nilai yang Ditampilkan
INET_NO_ERROR
jika permintaan DNS berhasil dimasukkan ke dalam antrean.
INET_ERROR_NO_MEMORY
jika kumpulan resolver lapisan Inet penuh.
other
kesalahan OSIX atau jaringan POSIX yang sesuai.

Init

INET_ERROR Init(
  InetLayer *inet
)

Penginisialisasi eksplisit untuk class AsynchronousDNSResolverSockets.

Fungsi ini akan melakukan inisialisasi variabel mutex dan semaphore serta membuat thread untuk menangani resolusi DNS asinkron.

Detail
Parameter
[in] aInet
Pointer ke objek InetLayer.
Nilai yang Ditampilkan
INET_NO_ERROR
jika inisialisasi berhasil.
other
kesalahan OSIX atau jaringan POSIX yang sesuai.

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
)

Metode ini menyiapkan objek DNSResolver sebelum resolusi asinkron.

Detail
Parameter
[in] resolver
Referensi ke objek DNSResolver yang dialokasikan.
[in] hostName
Pointer ke string C yang mewakili nama host yang akan dikueri.
[in] hostNameLen
Panjang string nama host.
[in] options
Nilai bilangan bulat yang mengontrol cara resolusi alamat nama host dilakukan. Nilai berasal dari enumerasi #DNSOptions.
[in] maxAddrs
Jumlah maksimum alamat yang akan disimpan dalam tabel DNS.
[in] addrArray
Pointer ke tabel DNS.
[in] onComplete
Pointer ke fungsi callback saat permintaan DNS selesai.
[in] appState
Pointer ke status aplikasi yang akan diteruskan ke onComplete saat permintaan DNS selesai.
Nilai yang Ditampilkan
INET_NO_ERROR
jika permintaan DNS berhasil ditangani.

Nonaktif

INET_ERROR Shutdown(
  void
)

Ini adalah deinisialisasi eksplisit dari class AsyncDNSResolverSockets dan menangani penonaktifan thread serta menghancurkan variabel mutex dan semaphore.

Detail
Nilai yang Ditampilkan
INET_NO_ERROR
jika penonaktifan berhasil.
other
kesalahan OSIX atau jaringan POSIX yang sesuai.