DnsOptions

public final class DnsOptions


Cronet'in ana makine çözünürlüğü işlevini yapılandıran bir sınıf. DNS'ı en yaygın kullanılan mekanizma olarak adlandırmamızın kısalık amacıyla yapıldığını, ayarların ana makine adı çözümlemesi gibi diğer yöntemler için de geçerli olduğunu unutmayın.

Cronet, ana makine adlarını iki şekilde çözer: sistem çözümleyiciyi (sistem kitaplıkları tarafından sağlanan getaddrinfo kullanılarak) veya Cronet'in kullandığı ağ yığınına yerleştirilmiş özel bir çözümleyiciyi kullanarak.

Yerleşik yığın, sistem çözümleyiciyi kullanmaya kıyasla çeşitli avantajlar sunar:

  • Bu protokol, özellikle hız ve kararlılık olmak üzere ağ yığını ihtiyaçlarına göre uyarlanmıştır.
  • getaddrinfo, çalışan iş parçacıklarının ayrılmasını gerektiren ve iptali imkansız kılan (çağrı tamamlanana kadar iş parçacığını bırakmamız gerekir) bir engelleme çağrısıdır.
  • getaddrinfo arayüzü, hataların temel nedeni hakkında bilgi vermiyor
  • struct addrinfo, döndürülen adreslerin TTL'sini (geçerlilik süresi) sağlamaz. Bu durum, önbelleğe almanın işlenmesiyle ilgili esnekliği kısıtlar (ör. eski DNS kayıtlarının kullanılmasına izin verme) ve işletim sistemi DNS önbelleklerine güvenmemizi ya da TTL ile ilgili son derece muhafazakar olmamızı gerektirir.
  • getaddrinfo, işletim sisteminin bir parçası olduğundan yavaş gelişir. Özel bir yığın kullanmak, Cronet'in şifrelenmiş DNS gibi özellikleri daha hızlı kullanıma sunmasını sağlar.

Bu sınıftaki yapılandırmaların çoğu yalnızca yerleşik DNS çözümleyici kullanılıyorsa geçerlidir.

Özet

İç içe yerleştirilmiş türler

public final class DnsOptions.Builder

DnsOptions için derleyiciler.

Henüz kararlı olarak kabul edilmeyen API'ler için bir açıklama.

Cronet'in eski DNS işlevini yapılandıran bir sınıf.

StaleDnsOptions için derleyiciler.

Herkese açık yöntemler

derleyici

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()