nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

これは InetLayer の内部クラスで、InetLayer で非同期ドメイン ネーム システム(DNS)を解決するためのヘルパー API を提供します。

概要

アプリケーション レイヤで使用できる公開インターフェースはありません。

パブリック関数

Cancel(DNSResolver & resolver)
まだアクティブである可能性のある未処理の DNS クエリをキャンセルします。
EnqueueRequest(DNSResolver & resolver)
指定されたホスト名の非同期 IP アドレス解決のために DNSResolver オブジェクトをキューに追加します。
Init(InetLayer *inet)
AsynchronousDNSResolverSockets クラスの明示的なイニシャライザ。
PrepareDNSResolver(DNSResolver & resolver, const char *hostName, uint16_t hostNameLen, uint8_t options, uint8_t maxAddrs, IPAddress *addrArray, DNSResolver::OnResolveCompleteFunct onComplete, void *appState)
このメソッドは、非同期で解決する前に DNSResolver オブジェクトを準備します。
Shutdown(void)
これは AsyncDNSResolverSockets クラスの明示的な初期化解除子であり、スレッドをシャットダウンし、MUTEX 変数とセマフォ変数を破棄します。

パブリック関数

キャンセル

INET_ERROR Cancel(
  DNSResolver & resolver
)

まだアクティブである可能性のある未処理の DNS クエリをキャンセルします。

詳細
パラメータ
[in] resolver
DNSResolver オブジェクトへの参照。

EnqueueRequest

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

指定されたホスト名の非同期 IP アドレス解決のために DNSResolver オブジェクトをキューに追加します。

詳細
パラメータ
[in] resolver
DNSResolver オブジェクトへの参照。
戻り値
INET_NO_ERROR
キューに入ったかどうかも確認できます。
INET_ERROR_NO_MEMORY
Inet レイヤのリゾルバプールがいっぱいの場合。
other
POSIX ネットワークまたは OS エラーです

init

INET_ERROR Init(
  InetLayer *inet
)

AsynchronousDNSResolverSockets クラスの明示的なイニシャライザ。

これにより、ミューテックス変数とセマフォ変数が初期化され、非同期の DNS 解決を処理するスレッドが作成されます。

詳細
パラメータ
[in] aInet
InetLayer オブジェクトへのポインタ。
戻り値
INET_NO_ERROR
初期化が成功した場合。
other
POSIX ネットワークまたは OS エラーです

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
)

このメソッドは、非同期で解決する前に DNSResolver オブジェクトを準備します。

詳細
パラメータ
[in] resolver
割り当てられた DNSResolver オブジェクトへの参照。
[in] hostName
クエリ対象のホスト名を表す C 文字列へのポインタ。
[in] hostNameLen
ホスト名の文字列長。
[in] options
ホスト名アドレスの解決方法を制御する整数値。値は #DNSOptions 列挙値です。
[in] maxAddrs
DNS テーブルに格納するアドレスの最大数。
[in] addrArray
DNS テーブルへのポインタ。
[in] onComplete
DNS リクエストが完了したときのコールバック関数へのポインタ。
[in] appState
DNS リクエストが完了したときに onComplete に渡されるアプリケーション状態へのポインタ。
戻り値
INET_NO_ERROR
DNS リクエストが正常に処理された場合。

シャットダウン

INET_ERROR Shutdown(
  void
)

これは AsyncDNSResolverSockets クラスの明示的な初期化解除子であり、スレッドをシャットダウンし、MUTEX 変数とセマフォ変数を破棄します。

詳細
戻り値
INET_NO_ERROR
シャットダウンが成功した場合です
other
POSIX ネットワークまたは OS エラーです