nl::Inet::AsyncDNSResolverSockets

#include <src/inet/AsyncDNSResolverSockets.h>

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

概要

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

パブリック関数

Cancel(DNSResolver & resolver)
まだアクティブである可能性のある未解決の DNS クエリをキャンセルします。
EnqueueRequest(DNSResolver & resolver)
指定されたホスト名の非同期 IP アドレスを解決するために、DNSResolver オブジェクトをキューに追加します。
Init(InetLayer *inet)
AsyncDNSResolverSockets クラスの明示的なイニシャライザ。
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 オブジェクトへの参照。

EnqueueRequest

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
)

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

これにより、ミューテックス変数とセマフォ変数が初期化され、非同期の 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 クラスの明示的なデイニシャライザであり、スレッドのシャットダウン、ミューテックス変数とセマフォ変数の破棄を処理します。

詳細
戻り値
INET_NO_ERROR
シャットダウンされます。
other
適切な POSIX ネットワークまたは OS エラーが発生している。