DnsOptions.Builder

public final class DnsOptions.Builder


Builder for DnsOptions.

Summary

Public methods

DnsOptions

Creates and returns the final DnsOptions instance, based on the values in this builder.

DnsOptions.Builder
enableStaleDns(boolean enable)

Sets whether to use stale DNS results at all.

DnsOptions.Builder
persistHostCache(boolean persistHostCache)

Sets whether the DNS cache should be persisted to disk.

DnsOptions.Builder

Sets whether Cronet should use stale cached DNS records to pre-establish connections.

DnsOptions.Builder

Same as setPersistHostCachePeriodMillis but using java.time.Duration.

DnsOptions.Builder
setPersistHostCachePeriodMillis(long persistHostCachePeriodMillis)

Sets the minimum period between subsequent writes to disk for DNS cache persistence.

DnsOptions.Builder
DnsOptions.Builder

Sets detailed configuration for stale DNS.

DnsOptions.Builder
useBuiltInDnsResolver(boolean enable)

Public methods

build

public DnsOptions build()

Creates and returns the final DnsOptions instance, based on the values in this builder.

enableStaleDns

public DnsOptions.Builder enableStaleDns(boolean enable)

Sets whether to use stale DNS results at all.

Returns
DnsOptions.Builder

the builder for chaining

persistHostCache

public DnsOptions.Builder persistHostCache(boolean persistHostCache)

Sets whether the DNS cache should be persisted to disk.

Only relevant if setStoragePath is set.

Returns
DnsOptions.Builder

the builder for chaining

preestablishConnectionsToStaleDnsResults

@DnsOptions.Experimental
public DnsOptions.Builder preestablishConnectionsToStaleDnsResults(boolean enable)

Sets whether Cronet should use stale cached DNS records to pre-establish connections.

If enabled, Cronet will optimistically pre-establish connections to servers that matched the hostname at some point in the past and were cached but the cache entry expired. Such connections won't be used further until a new DNS lookup confirms the cached record was up to date.

To use cached DNS records straight away, use enableStaleDns and StaleDnsOptions configuration options.

This option may not be available for all networking protocols.

Returns
DnsOptions.Builder

the builder for chaining

setPersistDelay

@RequiresApi(api = VERSION_CODES.O)
public DnsOptions.Builder setPersistDelay(@NonNull Duration persistToDiskPeriod)

Same as setPersistHostCachePeriodMillis but using java.time.Duration.

Returns
DnsOptions.Builder

the builder for chaining

setPersistHostCachePeriodMillis

public DnsOptions.Builder setPersistHostCachePeriodMillis(long persistHostCachePeriodMillis)

Sets the minimum period between subsequent writes to disk for DNS cache persistence.

Only relevant if persistHostCache is set to true.

Returns
DnsOptions.Builder

the builder for chaining

setStaleDnsOptions

@DnsOptions.Experimental
public DnsOptions.Builder setStaleDnsOptions(
    DnsOptions.StaleDnsOptions.Builder staleDnsOptionsBuilder
)

setStaleDnsOptions

public DnsOptions.Builder setStaleDnsOptions(DnsOptions.StaleDnsOptions staleDnsOptions)

Sets detailed configuration for stale DNS. Only relevant if enableStaleDns is set.

Returns
DnsOptions.Builder

this builder for chaining.

useBuiltInDnsResolver

public DnsOptions.Builder useBuiltInDnsResolver(boolean enable)