Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

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

まとめ

アプリケーション レイヤで使用できる公開インターフェースがない。

パブリック関数

Cancel(DNSResolver & resolver)
まだ実行されている可能性のある未処理の DNS クエリをキャンセルします。
EnqueueRequest(DNSResolver & resolver)
指定したホスト名の非同期 IP アドレス解決を行うため、DNSResolver オブジェクトをキューに登録します。
Init(InetLayer *inet)
AasyncDNSResolverSockets クラスの明示的なイニシャライザ。
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 クラスの明示的な初期化解除であり、スレッドをシャットダウンして、ミューテックス変数とセマフォ変数を破棄します。

パブリック関数

キャンセル

INET_ERROR Cancel(
  DNSResolver & resolver
)

まだ実行されている可能性のある未処理の DNS クエリをキャンセルします。

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

エンキュー リクエスト

INET_ERROR EnqueueRequest(
  DNSResolver & resolver
)

指定したホスト名の非同期 IP アドレス解決を行うため、DNSResolver オブジェクトをキューに登録します。

詳細
パラメータ
[in] resolver
DNSResolver オブジェクトへの参照。
戻り値
INET_NO_ERROR
DNS リクエストが正常にキューに格納された場合。
INET_ERROR_NO_MEMORY
Inet レイヤのリゾルバ プールがいっぱいの場合。
other
POSIX ネットワークまたは OS のエラー。

init

INET_ERROR Init(
  InetLayer *inet
)

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

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

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

PrepareDNSResolver(DNS 解決の準備)

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 クラスの明示的な初期化解除であり、スレッドをシャットダウンして、ミューテックス変数とセマフォ変数を破棄します。

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