nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

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

Özet

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

Kamu işlevleri

Cancel(DNSResolver & resolver)
Hâlâ etkin olabilecek, beklemedeki 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 ekleyin.
Init(InetLayer *inet)
AeşzamansızDNSSolutionrSockets 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 nesnesini hazırlar.
Shutdown(void)
Bu, AsyncDNSResolverSockets sınıfının açık tanımlayıcılayıcısıdır. İş parçacıklarını kapatma ve mutex ile semaphore değişkenlerini yok etme işini halleder.

Kamu işlevleri

İptal

INET_ERROR Cancel(
  DNSResolver & resolver
)

Hâlâ etkin olabilecek, beklemedeki bir DNS sorgusunu iptal edin.

Ayrıntılar
Parametreler
[in] resolver
DNSResolver nesnesi için 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 ekleyin.

Ayrıntılar
Parametreler
[in] resolver
DNSResolver nesnesi için bir referans.
Döndürülen Değerler
INET_NO_ERROR
DNS isteği başarıyla sıraya alınırsa.
INET_ERROR_NO_MEMORY
doluysa Inet katmanı çözümleyici havuzu dolu olmalıdır.
other
uygun bir POSIX ağı veya işletim sistemi hatasıdır.

Başlat

INET_ERROR Init(
  InetLayer *inet
)

AeşzamansızDNSSolutionrSockets sınıfı için açık başlatıcı.

Bu, mutex ve semaphore 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 nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
INET_NO_ERROR
başarılı bir şekilde tamamlanması gerekir.
other
uygun bir POSIX ağı veya işletim sistemi hatasıdır.

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 nesnesini hazırlar.

Ayrıntılar
Parametreler
[in] resolver
Ayrılmış bir DNSResolver nesnesine başvuru.
[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ınır.
[in] maxAddrs
DNS tablosunda depolanacak maksimum adres sayısı.
[in] addrArray
DNS tablosunun işaretçisi.
[in] onComplete
DNS isteği tamamlandığında geri çağırma işlevine giden işaretçi.
[in] appState
Bir DNS isteği tamamlandığında onComplete'a iletilecek uygulama durumuna yönelik bir işaretçi.
Döndürülen Değerler
INET_NO_ERROR
DNS isteği başarıyla işlenir.

Kapat

INET_ERROR Shutdown(
  void
)

Bu, AsyncDNSResolverSockets sınıfının açık tanımlayıcılayıcısıdır. İş parçacıklarını kapatma ve mutex ile semaphore değişkenlerini yok etme işini halleder.

Ayrıntılar
Döndürülen Değerler
INET_NO_ERROR
başarılı olup olmadığını kontrol edin.
other
uygun bir POSIX ağı veya işletim sistemi hatasıdır.