DnsOptions

class DnsOptions


Una clase que configura la funcionalidad de resolución de host de Cronet. Ten en cuenta que, si bien nos referimos a DNS como el mecanismo más común que se usa para abreviar, la configuración se aplica a otros medios de resolución de nombres de host, como la resolución de archivos de hosts.

Cronet resuelve los nombres de host de dos maneras: ya sea usando el solucionador del sistema (con getaddrinfo proporcionado por las bibliotecas del sistema) o usando un solucionador personalizado que está integrado en la pila de redes que usa Cronet.

La pila integrada proporciona varias ventajas en comparación con el uso del agente de resolución del sistema:

  • Se adaptó a las necesidades de la pila de redes, en particular, la velocidad y la estabilidad.
  • getaddrinfo es una llamada de bloqueo que requiere la dedicación de subprocesos de trabajo y hace que la cancelación sea imposible (debemos abandonar el subproceso hasta que se complete la llamada).
  • La interfaz getaddrinfo no proporciona información sobre la causa raíz de las fallas.
  • struct addrinfo no proporciona TTL (tiempo de actividad) de las direcciones que se muestran. Esto restringe la flexibilidad del manejo del almacenamiento en caché (p.ej., permite el uso de registros DNS obsoletos) y requiere que dependamos de las memorias caché de DNS del SO o que seamos extremadamente conservadores con el TTL.
  • Como parte del SO, getaddrinfo evoluciona lentamente. El uso de una pila personalizada permite que Cronet introduzca funciones como el DNS encriptado más rápido.

La mayor parte de la configuración de esta clase solo se aplica si se usa el solucionador de DNS integrado.

Resumen

Tipos anidados

Compilador para DnsOptions.

Una anotación para las APIs que aún no se consideran estables.

Una clase que configura la funcionalidad de DNS obsoleta de Cronet.

Compilador para StaleDnsOptions.

Funciones públicas

compilador

java-static fun builder(): DnsOptions.Builder!

getEnableStaleDns

fun getEnableStaleDns(): Boolean?

getPersistHostCache

fun getPersistHostCache(): Boolean?

getPersistHostCachePeriodMillis

fun getPersistHostCachePeriodMillis(): Long?

getPreestablishConnectionsToStaleDnsResults

fun getPreestablishConnectionsToStaleDnsResults(): Boolean?

getStaleDnsOptions

fun getStaleDnsOptions(): DnsOptions.StaleDnsOptions?

getUseBuiltInDnsResolver

fun getUseBuiltInDnsResolver(): Boolean?