DnsOptions

public final class DnsOptions


Cronet のホスト解決機能を構成するクラス。 DNS は最も一般的なメカニズムとして言及していますが、設定はホストファイル解決などのホスト名を解決する他の手段にも適用されます。

Cronet は、システム リゾルバ(システム ライブラリが提供する getaddrinfo を使用)を使用するか、Cronet が使用するネットワーキング スタックに組み込まれたカスタム リゾルバを使用するかの 2 つの方法でホスト名を解決します。

組み込みスタックには、システム リゾルバを使用するよりも次のような利点があります。

  • 特に速度と安定性において、ネットワーキング スタックのニーズに合わせて調整されています。
  • getaddrinfo はブロッキング呼び出しであり、ワーカー スレッドを専用にする必要があり、キャンセルはできません(呼び出しが完了するまでスレッドを破棄する必要があります)。
  • getaddrinfo インターフェースでは、障害の根本原因に関する分析情報が得られない
  • struct addrinfo は、返されたアドレスの TTL(有効期間)を提供しません。これにより、キャッシュの処理の柔軟性が制限され(古い DNS レコードの使用を許可するなど)、OS の DNS キャッシュに依存するか、TTL を非常に保守的に設定する必要があります。
  • OS の一部である getaddrinfo は、ゆっくりと進化します。カスタム スタックを使用すると、Cronet で暗号化された DNS などの機能をより迅速に導入できます。

このクラスのほとんどの構成は、組み込みの DNS リゾルバが使用されている場合にのみ適用されます。

概要

ネストされた型

public final class DnsOptions.Builder

DnsOptions のビルダー。

まだ安定版と見なされていない API のアノテーション。

Cronet の古い DNS 機能を構成するクラス。

StaleDnsOptions のビルダー。

パブリック メソッド

builder

public static DnsOptions.Builder builder()

getEnableStaleDns

public @Nullable Boolean getEnableStaleDns()

getPersistHostCache

public @Nullable Boolean getPersistHostCache()

getPersistHostCachePeriodMillis

public @Nullable Long getPersistHostCachePeriodMillis()

getPreestablishConnectionsToStaleDnsResults

public @Nullable Boolean getPreestablishConnectionsToStaleDnsResults()

getStaleDnsOptions

public @Nullable DnsOptions.StaleDnsOptions getStaleDnsOptions()

getUseBuiltInDnsResolver

public @Nullable Boolean getUseBuiltInDnsResolver()