QuicOptions.Builder

public class QuicOptions.Builder


‫Builder ל-QuicOptions.

סיכום

‫methods ציבוריים

QuicOptions.Builder

הוספת מארח לרשימת ההיתרים של QUIC.

QuicOptions.Builder

מוסיף תג QUIC לשליחה באפשרויות החיבור של לחיצת היד של QUIC, שמשפיע רק על הלקוח.

QuicOptions.Builder

הוספת תג QUIC לשליחה באפשרויות החיבור של לחיצת היד של QUIC.

QuicOptions.Builder

הוספת גרסת QUIC לרשימת גרסאות QUIC להפעלה.

QuicOptions.Builder

הגדרת דגל QUICHE שרירותי.

QuicOptions

יוצרת ומחזירה את מופע QuicOptions הסופי, על סמך הערכים ב-builder הזה.

QuicOptions.Builder
@QuicOptions.Experimental
closeSessionsOnIpChange(boolean closeSessionsOnIpChange)

ההגדרה קובעת אם סשנים של QUIC ייסגרו כשכתובת ה-IP משתנה.

QuicOptions.Builder
@QuicOptions.Experimental
delayJobsWithAvailableSpdySession(
    boolean delayJobsWithAvailableSpdySession
)

ההגדרה הזו קובעת אם Cronet צריך להמתין עד שהנתיב הראשי (בדרך כלל QUIC) יהיה מוכן, גם אם יש נתיב משני להגעה לשרת (SPDY / HTTP2) שמוכן באופן מיידי.

QuicOptions.Builder
@QuicOptions.Experimental
enableTlsZeroRtt(boolean enableTlsZeroRtt)

ההגדרה הזו קובעת אם להפעיל TLS עם 0-RTT.

QuicOptions.Builder
@QuicOptions.Experimental
goawaySessionsOnIpChange(boolean goawaySessionsOnIpChange)

ההגדרה קובעת אם סשנים של QUIC צריכים להיות מסוג goaway אם כתובת ה-IP משתנה.

QuicOptions.Builder
@QuicOptions.Experimental
increaseBrokenServicePeriodExponentially(
    boolean increaseBrokenServicePeriodExponentially
)

הגדרה של קצב הגידול של תקופת השרת התקול.

QuicOptions.Builder
@QuicOptions.Experimental
retryWithoutAltSvcOnQuicErrors(boolean retryWithoutAltSvcOnQuicErrors)

המדיניות הזו קובעת אם בקשות שנכשלו בגלל שגיאות בפרוטוקול QUIC צריכות להישלח מחדש בלי להשתמש בשרתי alt-svc.

QuicOptions.Builder
@QuicOptions.Experimental
setCryptoHandshakeTimeoutSeconds(long cryptoHandshakeTimeoutSeconds)

ההגדרה קובעת את הזמן הקצוב לתפוגה של לחיצת היד של חיבור SSL.

QuicOptions.Builder
setHandshakeUserAgent(String handshakeUserAgent)

מגדיר את סוכן המשתמש שישמש מחוץ לבקשות HTTP (לדוגמה, ללחיצות ידיים של QUIC).

QuicOptions.Builder

בדיוק כמו במכשיר setIdleConnectionTimeoutSeconds, אבל באמצעות java.time.Duration.

QuicOptions.Builder
setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

הגדרת הזמן המקסימלי של חוסר פעילות בחיבור.

QuicOptions.Builder
setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

ההגדרה קובעת כמה הגדרות שרת (מטא-נתונים כמו רשימה של alt svc, האם יש תמיכה ב-QUIC וכו') יישמרו בזיכרון.

QuicOptions.Builder
@QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds(
    long initialBrokenServicePeriodSeconds
)

מגדירה את הערך ההתחלתי של משך הזמן שבמהלכו Cronet לא ינסה להשתמש ב-QUIC עבור שרת מסוים, אחרי שהתברר שתמיכת השרת ב-QUIC פגומה.

QuicOptions.Builder
@QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds(
    long preCryptoHandshakeIdleTimeoutSeconds
)

ההגדרה קובעת את הזמן המקסימלי של חוסר פעילות בחיבור שלא הושלמה בו עדיין לחיצת היד של SSL.

QuicOptions.Builder
@QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis(
    long retransmittableOnWireTimeoutMillis
)

מגדיר את הזמן המקסימלי הרצוי בין חבילות בחיבור קווי.

‫methods ציבוריים

addAllowedQuicHost

public QuicOptions.Builder addAllowedQuicHost(String quicHost)

הוספת מארח לרשימת ההיתרים של QUIC.

אם לא מציינים מארחים, הפונקציונליות של רשימת ההיתרים לכל מארח מושבתת. אחרת, Cronet ישתמש ב-QUIC רק כשהוא מתקשר עם מארחים ברשימת ההיתרים.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addClientConnectionOption(String clientConnectionOption)

מוסיף תג QUIC לשליחה באפשרויות החיבור של לחיצת היד של QUIC, שמשפיע רק על הלקוח.

פרטים נוספים מופיעים במאמר addConnectionOption.

addConnectionOption

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addConnectionOption(String connectionOption)

הוספת תג QUIC לשליחה באפשרויות החיבור של לחיצת היד של QUIC.

תגי QUIC צריכים להיות מוצגים כמחרוזות באורך של עד ארבע אותיות (לדוגמה, NBHD).

תגי QUIC נמצאים בפיתוח פעיל וחלקם רלוונטיים רק לשרת, ולכן Cronet לא מנסה לשמור רשימה מלאה של כל דגלי QUIC הנתמכים כחלק מה-API. הסימונים. כאן אפשר למצוא את הדגלים שנתמכים על ידי QUICHE, הטמעה של QUIC שמשמשת את Cronet ואת שרתי Google.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addEnabledQuicVersion(String enabledQuicVersion)

הוספת גרסת QUIC לרשימת גרסאות QUIC להפעלה.

אם לא מציינים גרסאות, Cronet ישתמש ברשימה של גרסאות QUIC שמוגדרות כברירת מחדל.

פורמט הגרסה מוגדר על ידי QUICHE. בנוסף לסינון ערכים שידוע שהם מיושנים, Cronet לא מעבד את הגרסאות בשום מקרה, אלא פשוט מעביר אותן ל-QUICHE.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
public QuicOptions.Builder addExtraQuicheFlag(String extraQuicheFlag)

הגדרת דגל QUICHE שרירותי. הדגלים צריכים להיות מועברים בפורמט FLAG_NAME=FLAG_VALUE. רשימה מלאה של הדגלים מופיעה בבסיס הקוד של QUICHE.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

לבנות גרסת build

public QuicOptions build()

יוצרת ומחזירה את מופע QuicOptions הסופי, על סמך הערכים ב-builder הזה.

closeSessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder closeSessionsOnIpChange(boolean closeSessionsOnIpChange)

ההגדרה קובעת אם סשנים של QUIC ייסגרו כשכתובת ה-IP משתנה.

אל תשתמשו בהגדרה הזו בשילוב עם העברת חיבור (שמוגדרת באמצעות ConnectionMigrationOptions).

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

delayJobsWithAvailableSpdySession

@QuicOptions.Experimental
public QuicOptions.Builder delayJobsWithAvailableSpdySession(
    boolean delayJobsWithAvailableSpdySession
)

ההגדרה הזו קובעת אם Cronet צריך להמתין עד שהנתיב הראשי (בדרך כלל QUIC) יהיה מוכן, גם אם יש נתיב משני להגעה לשרת (SPDY / HTTP2) שמוכן באופן מיידי.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

enableTlsZeroRtt

@QuicOptions.Experimental
public QuicOptions.Builder enableTlsZeroRtt(boolean enableTlsZeroRtt)

ההגדרה הזו קובעת אם להפעיל TLS עם 0-RTT.

‫0-RTT היא אופטימיזציה של הביצועים שמונעת הלוך ושוב נוסף כשמחדשים חיבורים לשרת מוכר.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

goawaySessionsOnIpChange

@QuicOptions.Experimental
public QuicOptions.Builder goawaySessionsOnIpChange(boolean goawaySessionsOnIpChange)

ההגדרה קובעת אם סשנים של QUIC צריכים להיות מסוג goaway אם כתובת ה-IP משתנה.

אל תשתמשו בהגדרה הזו בשילוב עם העברת חיבור (שמוגדרת באמצעות ConnectionMigrationOptions).

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

increaseBrokenServicePeriodExponentially

@QuicOptions.Experimental
public QuicOptions.Builder increaseBrokenServicePeriodExponentially(
    boolean increaseBrokenServicePeriodExponentially
)

הגדרה של קצב הגידול של תקופת השרת התקול.

אם הערך הוא true, העיכוב הראשוני (שאפשר להגדיר באמצעות setInitialBrokenServicePeriodSeconds) יגדל באופן אקספוננציאלי בניסיונות חוזרים (SCALING_FACTOR^NUM_TRIES * delay). אם הערך הוא false, העיכוב יגדל באופן לינארי (SCALING_FACTOR * NUM_TRIES * delay).

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
public QuicOptions.Builder retryWithoutAltSvcOnQuicErrors(boolean retryWithoutAltSvcOnQuicErrors)

המדיניות הזו קובעת אם בקשות שנכשלו בגלל שגיאות בפרוטוקול QUIC צריכות להישלח מחדש בלי להשתמש בשרתי alt-svc.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setCryptoHandshakeTimeoutSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setCryptoHandshakeTimeoutSeconds(long cryptoHandshakeTimeoutSeconds)

ההגדרה קובעת את הזמן הקצוב לתפוגה של לחיצת היד של חיבור SSL.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setHandshakeUserAgent

public QuicOptions.Builder setHandshakeUserAgent(String handshakeUserAgent)

מגדיר את סוכן המשתמש שישמש מחוץ לבקשות HTTP (לדוגמה, ללחיצות ידיים של QUIC).

כדי להגדיר את סוכן המשתמש שמוגדר כברירת מחדל לבקשות HTTP, משתמשים במקום זאת ב-setUserAgent.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
public QuicOptions.Builder setIdleConnectionTimeout(@NonNull Duration idleConnectionTimeout)

בדיוק כמו במכשיר setIdleConnectionTimeoutSeconds, אבל באמצעות java.time.Duration.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setIdleConnectionTimeoutSeconds

public QuicOptions.Builder setIdleConnectionTimeoutSeconds(long idleConnectionTimeoutSeconds)

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

פרטים נוספים זמינים ב-RFC 9114, סעיף 5.1 .

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setInMemoryServerConfigsCacheSize

public QuicOptions.Builder setInMemoryServerConfigsCacheSize(int inMemoryServerConfigsCacheSize)

ההגדרה קובעת כמה הגדרות שרת (מטא-נתונים כמו רשימה של alt svc, האם יש תמיכה ב-QUIC וכו') יישמרו בזיכרון.

אם נתיב האחסון מוגדר (setStoragePath),‏ Cronet גם ישמור את הגדרות השרת בדיסק.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setInitialBrokenServicePeriodSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setInitialBrokenServicePeriodSeconds(
    long initialBrokenServicePeriodSeconds
)

מגדירה את הערך ההתחלתי שלפיו Cronet לא ינסה להשתמש ב-QUIC עבור שרת מסוים אחרי שהתברר שתמיכת השרת ב-QUIC פגומה.

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

ההשהיה גדלה בכל ניסיון חוזר רצוף שנכשל. פרטים נוספים מופיעים בכתובת increaseBrokenServicePeriodExponentially.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
public QuicOptions.Builder setPreCryptoHandshakeIdleTimeoutSeconds(
    long preCryptoHandshakeIdleTimeoutSeconds
)

ההגדרה קובעת את הזמן המקסימלי של חוסר פעילות בחיבור שלא הושלמה בו עדיין לחיצת יד מסוג SSL.

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
public QuicOptions.Builder setRetransmittableOnWireTimeoutMillis(
    long retransmittableOnWireTimeoutMillis
)

מגדיר את הזמן המקסימלי הרצוי בין חבילות בחיבור קווי.

אם חלף הזמן שבו אפשר לשדר מחדש את הנתונים, Cronet יבדוק את איכות הרשת באמצעות תנועה מלאכותית. זמני קצובה קצרים יותר בדרך כלל יאפשרו לגלות מהר יותר נתיב פגום או נתיב שאיכותו יורדת, אבל גם יגבירו את השימוש במשאבים (סוללה, נתונים).

החזרות
QuicOptions.Builder

הכלי ליצירת שרשור