DnsOptions

public final class DnsOptions


מחלקת הגדרות של פונקציית זיהוי המארח של Cronet. שימו לב: למרות שאנחנו מתייחסים ל- DNS כמנגנון הנפוץ ביותר שמשמש לקיצור, ההגדרות חלות על אמצעים אחרים לפתרון שמות מארחים, כמו פתרון קובץ מארחים.

‫Cronet פותר שמות מארחים בשתי דרכים – באמצעות פותר המערכת (באמצעות getaddrinfo שסופק על ידי ספריות המערכת), או באמצעות פותר מותאם אישית שמוטמע במערך הרשת שבו נעשה שימוש ב-Cronet.

לסטאק המובנה יש כמה יתרונות בהשוואה לשימוש במפענח ה-DNS של המערכת:

  • הוא מותאם לצרכים של מחסנית הרשת, במיוחד למהירות וליציבות.
  • getaddrinfo היא שיחה חוסמת שדורשת הקצאה של שרשורי עובדים, ואי אפשר לבטל אותה (צריך לנטוש את השרשור עד שהשיחה מסתיימת)
  • בממשק של getaddrinfo לא מוצגות תובנות לגבי הסיבה הבסיסית לבעיות
  • struct addrinfo לא מספק TTL (אורך חיים) של הכתובות שמוחזרות. ההגדרה הזו מגבילה את הגמישות בטיפול במטמון (למשל, מאפשרת שימוש ברשומות DNS לא עדכניות) ומחייבת אותנו להסתמך על מטמוני DNS של מערכת ההפעלה או להיות מאוד שמרניים לגבי ה-TTL.
  • כחלק ממערכת ההפעלה, getaddrinfo מתפתח לאט. שימוש במערך מותאם אישית מאפשר ל-Cronet להציג תכונות כמו DNS מוצפן מהר יותר.

רוב ההגדרות במחלקה הזו רלוונטיות רק אם נעשה שימוש במפענח ה-DNS המובנה.

סיכום

סוגי רכיבים שהוצבו בתוך רכיבים אחרים

public final class DnsOptions.Builder

‫Builder ל-DnsOptions.

הערה לגבי ממשקי API שעדיין לא נחשבים ליציבים.

מחלקה שמגדירה את הפונקציונליות של DNS לא עדכני ב-Cronet.

‫Builder ל-StaleDnsOptions.

‫methods ציבוריים

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()