DnsOptions

public final class DnsOptions


فئة تضبط وظيفة حلّ المضيف في Cronet. يُرجى العِلم أنّه على الرغم من أنّنا نشير إلى DNS باعتباره الآلية الأكثر شيوعًا المستخدمة للاختصار، تنطبق الإعدادات على الوسائل الأخرى لحلّ أسماء المضيفين، مثل حلّ ملف المضيفين.

يحلّ Cronet أسماء المضيفين بطريقتَين: إما باستخدام أداة حلّ النظام (باستخدام getaddrinfo التي توفّرها مكتبات النظام)، أو باستخدام أداة حلّ مخصّصة مضمّنة في حزمة الشبكات التي تستخدمها Cronet.

توفّر الحزمة المضمّنة عدة مزايا مقارنةً باستخدام أداة حلّ النظام:

  • تم تصميمها لتلبية احتياجات حزمة الشبكات، لا سيما السرعة والثبات.
  • getaddrinfo هي عملية حظر تتطلّب تخصيص سلاسل محادثات عاملة وتجعل الإلغاء مستحيلاً (علينا إيقاف سلسلة المحادثات إلى أن تكتمل العملية).
  • لا تقدّم واجهة getaddrinfo أي معلومات عن السبب الرئيسي للأخطاء.
  • لا يقدّم struct addrinfo أي مدة بقاء (TTL) للعناوين التي يتم عرضها. يحدّ ذلك من مرونة معالجة التخزين المؤقت (مثل السماح باستخدام سجلات نظام أسماء النطاقات القديمة) ويتطلّب منّا إما الاعتماد على ذاكرات التخزين المؤقت لنظام أسماء النطاقات في نظام التشغيل، أو أن نكون حذرين للغاية بشأن مدة البقاء.
  • كجزء من نظام التشغيل، تتطوّر getaddrinfo ببطء. يسمح استخدام حزمة مخصّصة لـ Cronet بتقديم ميزات مثل نظام أسماء النطاقات المشفّر بشكل أسرع.

لا ينطبق معظم الإعدادات في هذه الفئة إلا إذا تم استخدام برنامج تعيين نظام أسماء النطاقات المضمّن.

ملخّص

الأنواع المضمّنة

public final class DnsOptions.Builder

أداة إنشاء لـ DnsOptions.

شرح توضيحي لواجهات برمجة التطبيقات التي لا تُعتبر مستقرة بعد.

فئة تضبط وظيفة نظام أسماء النطاقات القديم في Cronet.

أداة إنشاء لـ StaleDnsOptions.

الإجراءات العامة

builder

public static DnsOptions.Builder builder()

getEnableStaleDns

public @Nullable Boolean getEnableStaleDns()

getPersistHostCache

public @Nullable Boolean getPersistHostCache()

getPersistHostCachePeriodMillis

public @Nullable Long getPersistHostCachePeriodMillis()

getPreestablishConnectionsToStaleDnsResults

public @Nullable Boolean getPreestablishConnectionsToStaleDnsResults()

getStaleDnsOptions

public @Nullable DnsOptions.StaleDnsOptions getStaleDnsOptions()

getUseBuiltInDnsResolver

public @Nullable Boolean getUseBuiltInDnsResolver()