DnsOptions.StaleDnsOptions.Builder

class DnsOptions.StaleDnsOptions.Builder


StaleDnsOptions 的构建器。

摘要

公共函数

DnsOptions.StaleDnsOptions.Builder!
allowCrossNetworkUsage(allowCrossNetworkUsage: Boolean)

设置是否返回来自其他网络的结果。

DnsOptions.StaleDnsOptions!

根据此构建器中的值创建并返回最终的 StaleDnsOptions 实例。

DnsOptions.StaleDnsOptions.Builder!

setFreshLookupTimeoutMillis 相同,但使用 java.time.Duration

DnsOptions.StaleDnsOptions.Builder!
setFreshLookupTimeoutMillis(freshLookupTimeoutMillis: Long)

设置在改用过时结果之前,等待 DNS 请求返回的时间(以毫秒为单位)。

DnsOptions.StaleDnsOptions.Builder!

setMaxExpiredDelayMillis 相同,但使用 java.time.Duration

DnsOptions.StaleDnsOptions.Builder!
setMaxExpiredDelayMillis(maxExpiredDelayMillis: Long)

设置在过期后多长时间(以毫秒为单位)内仍可考虑使用过期结果。

DnsOptions.StaleDnsOptions.Builder!
useStaleOnNameNotResolved(useStaleOnNameNotResolved: Boolean)

设置在网络解析器无法解析主机名时是否允许使用过时的 DNS 结果。

公共函数

allowCrossNetworkUsage

fun allowCrossNetworkUsage(allowCrossNetworkUsage: Boolean): DnsOptions.StaleDnsOptions.Builder!

设置是否返回来自其他网络的结果。通常,Cronet 在切换连接时(例如在两个 WLAN 网络之间切换或从 WLAN 切换到 4G)会完全清除 DNS 缓存。

返回
DnsOptions.StaleDnsOptions.Builder!

用于链式调用的构建器

build

fun build(): DnsOptions.StaleDnsOptions!

根据此构建器中的值创建并返回最终的 StaleDnsOptions 实例。

setFreshLookupTimeout

@RequiresApi(value = VERSION_CODES.O)
fun setFreshLookupTimeout(freshLookupTimeout: Duration): DnsOptions.StaleDnsOptions.Builder!

setFreshLookupTimeoutMillis 相同,但使用 java.time.Duration

返回
DnsOptions.StaleDnsOptions.Builder!

用于链式调用的构建器

setFreshLookupTimeoutMillis

fun setFreshLookupTimeoutMillis(freshLookupTimeoutMillis: Long): DnsOptions.StaleDnsOptions.Builder!

设置在改用过时结果之前等待 DNS 请求返回的时间(以毫秒为单位)。如果设置为零,则会立即返回过时的结果,但会在后台继续执行 DNS 请求以更新缓存。

返回
DnsOptions.StaleDnsOptions.Builder!

用于链式调用的构建器

setMaxExpiredDelay

@RequiresApi(value = VERSION_CODES.O)
fun setMaxExpiredDelay(maxExpiredDelay: Duration): DnsOptions.StaleDnsOptions.Builder!

setMaxExpiredDelayMillis 相同,但使用 java.time.Duration

返回
DnsOptions.StaleDnsOptions.Builder!

用于链式调用的构建器

setMaxExpiredDelayMillis

fun setMaxExpiredDelayMillis(maxExpiredDelayMillis: Long): DnsOptions.StaleDnsOptions.Builder!

设置在过期后多长时间(以毫秒为单位)内仍可考虑使用过期结果。将值设置为零表示可以无限期地使用过期记录。

返回
DnsOptions.StaleDnsOptions.Builder!

用于链式调用的构建器

useStaleOnNameNotResolved

fun useStaleOnNameNotResolved(useStaleOnNameNotResolved: Boolean): DnsOptions.StaleDnsOptions.Builder!

设置在网络解析器无法解析主机名时是否允许使用过时的 DNS 结果。

根据具体用例,如果 Cronet 快速发现新的失败,则可能需要使用该失败,因为从技术上讲,这是最新的结果,而且我们很快就获得了这样的最新结果;或者,宁愿使用任何结果(即使是过时的结果),也不愿使用失败。

返回
DnsOptions.StaleDnsOptions.Builder!

用于链式调用的构建器