Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

Dies ist eine interne Klasse von InetLayer, die Hilfs-APIs für die DNS-Auflösung (Domain Domain System) in InetLayer bereitstellt.

Fazit

Für die Anwendungsebene ist keine öffentliche Schnittstelle verfügbar.

Öffentliche Funktionen

Cancel(DNSResolver & resolver)
Brechen Sie die ausstehende DNS-Abfrage ab, die möglicherweise noch aktiv ist.
EnqueueRequest(DNSResolver & resolver)
Fügen Sie ein DNSResolver-Objekt für die asynchrone IP-Adressauflösung eines angegebenen Hostnamens in die Warteschlange ein.
Init(InetLayer *inet)
Der explizite Initialisierer für die AsyncDNSResolverSockets-Klasse.
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
Mit dieser Methode wird ein DNSResolver-Objekt vor der asynchronen Auflösung vorbereitet.
Shutdown(void)
Dies ist der explizite De initialisierter der Klasse AsyncDNSResolverSockets. Er sorgt dafür, dass die Threads heruntergefahren und die mutex- und Semanphore-Variablen gelöscht werden.

Öffentliche Funktionen

Abbrechen

INET_ERROR Cancel(
  DNSResolver & resolver
)

Brechen Sie die ausstehende DNS-Abfrage ab, die möglicherweise noch aktiv ist.

Details
Parameter
[in] resolver
Ein Verweis auf das Objekt DNSResolver.

Anfrage in Warteschlange stellen

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

Fügen Sie ein DNSResolver-Objekt für die asynchrone IP-Adressauflösung eines angegebenen Hostnamens in die Warteschlange ein.

Details
Parameter
[in] resolver
Ein Verweis auf das Objekt DNSResolver.
Rückgabewerte
INET_NO_ERROR
wenn eine DNS-Anfrage in die Warteschlange gestellt wurde.
INET_ERROR_NO_MEMORY
Wenn der Inet Layer-Resolver-Pool voll ist.
other
entsprechenden POSIX-Netzwerk- oder Betriebssystemfehler.

Init

INET_ERROR Init(
  InetLayer *inet
)

Der explizite Initialisierer für die AsyncDNSResolverSockets-Klasse.

Dadurch werden die Variablen mutex und Semophore initialisiert und die Threads für die Verarbeitung der asynchronen DNS-Auflösung erstellt.

Details
Parameter
[in] aInet
Ein Zeiger auf das InetLayer-Objekt.
Rückgabewerte
INET_NO_ERROR
wenn die Initialisierung erfolgreich ist.
other
entsprechenden POSIX-Netzwerk- oder Betriebssystemfehler.

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
)

Mit dieser Methode wird ein DNSResolver-Objekt vor der asynchronen Auflösung vorbereitet.

Details
Parameter
[in] resolver
Ein Verweis auf ein zugewiesenes DNSResolver-Objekt.
[in] hostName
Ein Zeiger auf einen C-String, der den abzufragenden Hostnamen darstellt.
[in] hostNameLen
Die Stringlänge des Hostnamens.
[in] options
Eine Ganzzahl, die die Auflösung der Hostnamenadresse steuert. Die Werte stammen aus der #DNSOptions-Aufzählung.
[in] maxAddrs
Die maximale Anzahl der Adressen, die in der DNS-Tabelle gespeichert werden sollen.
[in] addrArray
Ein Zeiger auf die DNS-Tabelle.
[in] onComplete
Ein Hinweis auf die Callback-Funktion, wenn eine DNS-Anfrage abgeschlossen ist.
[in] appState
Ein Zeiger auf den Anwendungsstatus, der nach Abschluss einer DNS-Anfrage an OnComplete übergeben wird.
Rückgabewerte
INET_NO_ERROR
wenn eine DNS-Anfrage erfolgreich verarbeitet wurde.

Heruntergefahren

INET_ERROR Shutdown(
  void
)

Dies ist der explizite De initialisierter der Klasse AsyncDNSResolverSockets. Er sorgt dafür, dass die Threads heruntergefahren und die mutex- und Semanphore-Variablen gelöscht werden.

Details
Rückgabewerte
INET_NO_ERROR
wenn heruntergefahren wurde.
other
entsprechenden POSIX-Netzwerk- oder Betriebssystemfehler.