Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Inet::AsyncDNSResolverSocket

#include <src/inet/AsyncDNSResolverSockets.h>

Ini adalah class internal untuk InetLayer yang menyediakan API helper untuk resolusi Sistem Nama Domain Asinkron (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 AsyncDNSResolverSockets.
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 deinisialisasir eksplisit class AsyncDNSResolverSockets dan menangani penghentian 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.

AntreanPermintaan

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 diantrekan.
INET_ERROR_NO_MEMORY
jika kumpulan resolver lapisan Inet penuh.
other
error POSIX atau error OS yang sesuai.

Init

INET_ERROR Init(
  InetLayer *inet
)

Penginisialisasi eksplisit untuk class AsyncDNSResolverSockets.

Tindakan ini akan menginisialisasi 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
error POSIX atau error OS yang sesuai.

MempersiapkanDNSResolver

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 kerja resolusi alamat nama host. Nilai berasal dari enumerasi #DNSOptions.
[in] maxAddrs
Jumlah alamat maksimum 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 untuk diteruskan ke onComplete saat permintaan DNS selesai.
Nilai yang Ditampilkan
INET_NO_ERROR
jika permintaan DNS berhasil ditangani.

Mematikan

INET_ERROR Shutdown(
  void
)

Ini adalah deinisialisasir eksplisit class AsyncDNSResolverSockets dan menangani penghentian thread serta menghancurkan variabel mutex dan semaphore.

Detail
Nilai yang Ditampilkan
INET_NO_ERROR
jika penonaktifan berhasil.
other
error POSIX atau error OS yang sesuai.