DnsOptions.StaleDnsOptions


public static class DnsOptions.StaleDnsOptions
extends Object

java.lang.Object
   ↳ android.net.http.DnsOptions.StaleDnsOptions


A class configuring the stale DNS functionality.

DNS resolution is one of the steps on the critical path to making a URL request, but it can be slow for various reasons (underlying network latency, buffer bloat, packet loss, etc.). Depending on the use case, it might be worthwhile for an app developer to trade off guaranteed DNS record freshness for better availability of DNS records.

Stale results can include both:

  • results returned from the current network's DNS server, but past their time-to-live, and
  • results returned from a different network's DNS server, whether expired or not.

For detailed explanation of the configuration options see javadoc on StaleDnsOptions.Builder methods.

Summary

Nested classes

class DnsOptions.StaleDnsOptions.Builder

Builder for StaleDnsOptions

Public methods

int getAllowCrossNetworkUsage()
Duration getFreshLookupTimeout()
Duration getMaxExpiredDelay()
int getUseStaleOnNameNotResolved()

Inherited methods

Public methods

getAllowCrossNetworkUsage

Added in API level 34
Also in S Extensions 7
public int getAllowCrossNetworkUsage ()

Returns
int Value is DnsOptions.DNS_OPTION_UNSPECIFIED, DnsOptions.DNS_OPTION_ENABLED, or DnsOptions.DNS_OPTION_DISABLED

getFreshLookupTimeout

Added in API level 34
Also in S Extensions 7
public Duration getFreshLookupTimeout ()

Returns
Duration This value may be null.

getMaxExpiredDelay

Added in API level 34
Also in S Extensions 7
public Duration getMaxExpiredDelay ()

Returns
Duration This value may be null.

getUseStaleOnNameNotResolved

Added in API level 34
Also in S Extensions 7
public int getUseStaleOnNameNotResolved ()

Returns
int Value is DnsOptions.DNS_OPTION_UNSPECIFIED, DnsOptions.DNS_OPTION_ENABLED, or DnsOptions.DNS_OPTION_DISABLED