DnsOptions

class DnsOptions


คลาสที่กำหนดค่าฟังก์ชันการแปลงโฮสต์ของ Cronet โปรดทราบว่าแม้ว่าเราจะอ้างอิงถึง DNS ซึ่งเป็นกลไกที่ใช้กันโดยทั่วไปเพื่อความกระชับ แต่การตั้งค่าจะมีผลกับวิธีการอื่นๆ ในการแปลงชื่อโฮสต์ เช่น การแปลงไฟล์โฮสต์

Cronet แปลงชื่อโฮสต์ได้ 2 วิธี ได้แก่ การใช้ตัวแปลงของระบบ (ใช้ getaddrinfo ที่จัดทำโดยไลบรารีของระบบ) หรือการใช้ตัวแปลงที่กำหนดเองซึ่งสร้างขึ้นในกลุ่มซอฟต์แวร์เครือข่ายที่ Cronet ใช้

สแต็กในตัวมีข้อดีหลายประการเมื่อเทียบกับการใช้รีโซลเวอร์ของระบบ ดังนี้

  • ได้รับการปรับแต่งให้เหมาะกับความต้องการของกลุ่มซอฟต์แวร์เครือข่าย โดยเฉพาะอย่างยิ่งความเร็วและความเสถียร
  • getaddrinfo เป็นการเรียกใช้ที่บล็อกซึ่งต้องใช้เธรดงานเฉพาะและทำให้ยกเลิกไม่ได้ (เราต้องละทิ้งเธรดจนกว่าการเรียกใช้จะเสร็จสมบูรณ์)
  • อินเทอร์เฟซ getaddrinfo ไม่ให้ข้อมูลเชิงลึกเกี่ยวกับสาเหตุแท้จริงของความล้มเหลว
  • struct addrinfo ไม่ได้ระบุ TTL (Time To Live) ของที่อยู่ที่แสดงผล ซึ่งจำกัดความยืดหยุ่นในการจัดการการแคช (เช่น การอนุญาตให้ใช้ระเบียน DNS ที่ล้าสมัย) และกำหนดให้เราต้องอาศัยแคช DNS ของระบบปฏิบัติการหรือใช้ TTL อย่างระมัดระวัง
  • getaddrinfo เป็นส่วนหนึ่งของระบบปฏิบัติการ จึงมีการพัฒนาอย่างช้าๆ การใช้กลุ่มซอฟต์แวร์ที่กำหนดเองช่วยให้ Cronet สามารถเปิดตัวฟีเจอร์ต่างๆ เช่น DNS ที่เข้ารหัสได้เร็วขึ้น

การกำหนดค่าส่วนใหญ่ในคลาสนี้จะมีผลก็ต่อเมื่อมีการใช้รีโซลเวอร์ DNS ในตัวเท่านั้น

สรุป

ประเภทที่ซ้อนกัน

เครื่องมือสร้างสำหรับ DnsOptions

คำอธิบายประกอบสำหรับ API ที่ยังไม่ถือว่าเสถียร

คลาสที่กำหนดค่าฟังก์ชัน DNS ที่ล้าสมัยของ Cronet

เครื่องมือสร้างสำหรับ StaleDnsOptions

ฟังก์ชันสาธารณะ

เครื่องมือสร้าง

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?