nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Bu, InetLayer'da Eşzamansız Alan Adı Sistemi (DNS) çözümlemesi için yardımcı API'ler sağlayan dahili bir InetLayer sınıfıdır.

Özet

Uygulama katmanı için kullanılabilecek herkese açık bir arayüz yoktur.

Herkese açık işlevler

Cancel(DNSResolver & resolver)
Hâlâ etkin olabilecek bekleyen bir DNS sorgusunu iptal edin.
EnqueueRequest(DNSResolver & resolver)
Belirtilen ana makine adının eşzamansız IP adresi çözümlemesi için bir DNSResolver nesnesini sıraya alın.
Init(InetLayer *inet)
AsynchronousDNSresolverSockets sınıfı için açık başlatıcı.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Bu yöntem, eşzamansız çözümlemeden önce bir DNSResolver nesnesi hazırlar.
Shutdown(void)
Bu, AsyncDNSResolverSockets sınıfının açık bir başlatıcısıdır ve iş parçacıklarını kapatarak, karşılıklı dışlama ve semafor değişkenlerini yok etme işini üstlenir.

Herkese açık işlevler

İptal

INET_ERROR Cancel(
  DNSResolver & resolver
)

Hâlâ etkin olabilecek bekleyen bir DNS sorgusunu iptal edin.

Ayrıntılar
Parametreler
[in] resolver
DNSResolver nesnesine bir referans.

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Belirtilen ana makine adının eşzamansız IP adresi çözümlemesi için bir DNSResolver nesnesini sıraya alın.

Ayrıntılar
Parametreler
[in] resolver
DNSResolver nesnesine bir referans.
Değerleri Döndür
INET_NO_ERROR
DNS isteği başarıyla sıraya alındıysa.
INET_ERROR_NO_MEMORY
değerini girin.
other
uygun POSIX ağı veya işletim sistemi hatası.

Init

INET_ERROR Init(
  InetLayer *inet
)

AsynchronousDNSresolverSockets sınıfı için açık başlatıcı.

Bu komut, zaman uyumlu olmayan DNS ve semafor değişkenlerini başlatır ve eşzamansız DNS çözümlemesini işlemek için iş parçacıklarını oluşturur.

Ayrıntılar
Parametreler
[in] aInet
InetLayer nesnesinin işaretçisi.
Değerleri Döndür
INET_NO_ERROR
başlatma işlemi başarılı olursa.
other
uygun POSIX ağı veya işletim sistemi hatası.

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
)

Bu yöntem, eşzamansız çözümlemeden önce bir DNSResolver nesnesi hazırlar.

Ayrıntılar
Parametreler
[in] resolver
Tahsis edilen DNSResolver nesnesine referans.
[in] hostName
Sorgulanacak ana makine adını temsil eden C dizesine yönlendiren bir işaretçi.
[in] hostNameLen
Ana makine adının dize uzunluğu.
[in] options
Ana makine adı adres çözümlemesinin nasıl gerçekleştirileceğini kontrol eden bir tam sayı değeri. Değerler, #DNSOptions numaralandırmasından alınmıştır.
[in] maxAddrs
DNS tablosunda depolanacak maksimum adres sayısı.
[in] addrArray
DNS tablosunu gösteren bir işaretçi.
[in] onComplete
DNS isteği tamamlandığında geri çağırma işlevine yönlendiren bir işaretçi.
[in] appState
Bir DNS isteği tamamlandığında onComplete'e geçirilecek uygulama durumuna işaret eden bir işaret.
Değerleri Döndür
INET_NO_ERROR
DNS isteği başarıyla işlenip işlenmez.

Kapat

INET_ERROR Shutdown(
  void
)

Bu, AsyncDNSResolverSockets sınıfının açık bir başlatıcısıdır ve iş parçacıklarını kapatarak, karşılıklı dışlama ve semafor değişkenlerini yok etme işini üstlenir.

Ayrıntılar
Değerleri Döndür
INET_NO_ERROR
yardımcı olur.
other
uygun POSIX ağı veya işletim sistemi hatası.