QuicOptions.Builder

public class QuicOptions.Builder


QuicOptions के लिए बिल्डर.

खास जानकारी

पब्लिक मेथड

QuicOptions.Builder

इस कुकी का इस्तेमाल, QUIC प्रोटोकॉल के लिए अनुमति वाली सूची में किसी होस्ट को जोड़ने के लिए किया जाता है.

QuicOptions.Builder

यह कुकी, QUIC टैग जोड़ती है. इसका इस्तेमाल QUIC हैंडशेक के कनेक्शन विकल्पों में भेजने के लिए किया जाता है. इसका असर सिर्फ़ क्लाइंट पर पड़ता है.

QuicOptions.Builder

यह कुकी, QUIC हैंडशेक के कनेक्शन विकल्पों में भेजने के लिए QUIC टैग जोड़ती है.

QuicOptions.Builder

यह कुइक वर्शन को, चालू किए जाने वाले कुइक वर्शन की सूची में जोड़ता है.

QuicOptions.Builder

यह कुकी, QUICHE फ़्लैग सेट करती है.

QuicOptions

यह बिल्डर, इस बिल्डर में मौजूद वैल्यू के आधार पर फ़ाइनल QuicOptions इंस्टेंस बनाता है और उसे दिखाता है.

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

यह कुकी सेट करती है कि आईपी पते में बदलाव होने पर QUIC सेशन बंद होने चाहिए या नहीं.

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

इस कुकी से यह तय होता है कि Cronet को प्राइमरी पाथ (आम तौर पर QUIC) के तैयार होने का इंतज़ार करना चाहिए या नहीं. भले ही, सर्वर तक पहुंचने का कोई सेकंडरी पाथ (SPDY / HTTP2) तुरंत तैयार हो गया हो.

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

यह सेट करता है कि 0-RTT के साथ टीएलएस चालू होना चाहिए या नहीं.

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

यह कुकी सेट करती है कि आईपी पते में बदलाव होने पर, QUIC सेशन को goaway'd किया जाना चाहिए या नहीं.

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)

यह कुकी, एचटीटीपी अनुरोधों के बाहर इस्तेमाल किए जाने वाले उपयोगकर्ता एजेंट को सेट करती है. उदाहरण के लिए, 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
)

यह उस कनेक्शन के लिए ज़्यादा से ज़्यादा निष्क्रिय समय सेट करता है जिसने अब तक एसएसएल हैंडशेक पूरा नहीं किया है.

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

इससे वायर पर पैकेट के बीच ज़्यादा से ज़्यादा समय सेट किया जाता है.

पब्लिक मेथड

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 के साथ काम करने वाले सभी फ़्लैग की पूरी सूची को बनाए रखने की कोशिश नहीं करता. फ़्लैग. QUICHE के साथ काम करने वाले फ़्लैग यहां देखे जा सकते हैं. 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

चेन बनाने वाला बिल्डर

बनाएं

public QuicOptions build()

यह बिल्डर, इस बिल्डर में मौजूद वैल्यू के आधार पर फ़ाइनल QuicOptions इंस्टेंस बनाता है और उसे दिखाता है.

closeSessionsOnIpChange

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

यह कुकी सेट करती है कि आईपी पते में बदलाव होने पर QUIC सेशन बंद होने चाहिए या नहीं.

इसे कनेक्शन माइग्रेशन (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)

यह सेट करता है कि 0-RTT के साथ टीएलएस चालू होना चाहिए या नहीं.

0-RTT, परफ़ॉर्मेंस को ऑप्टिमाइज़ करने की सुविधा है. इससे किसी जाने-पहचाने सर्वर से कनेक्शन फिर से शुरू करते समय, अतिरिक्त राउंड ट्रिप से बचा जा सकता है.

रिटर्न
QuicOptions.Builder

चेन बनाने वाला बिल्डर

goawaySessionsOnIpChange

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

यह कुकी सेट करती है कि आईपी पते में बदलाव होने पर, QUIC सेशन को goaway'd किया जाना चाहिए या नहीं.

इसे कनेक्शन माइग्रेशन (ConnectionMigrationOptions का इस्तेमाल करके कॉन्फ़िगर किया गया) के साथ इस्तेमाल न करें.

रिटर्न
QuicOptions.Builder

चेन बनाने वाला बिल्डर

increaseBrokenServicePeriodExponentially

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

इससे यह सेट किया जाता है कि सर्वर के काम न करने की अवधि को तेज़ी से बढ़ाया जाना चाहिए या नहीं.

अगर इसे सही पर सेट किया जाता है, तो शुरुआती देरी (setInitialBrokenServicePeriodSeconds से कॉन्फ़िगर की जा सकती है) को बाद के फिर से कोशिश करने के लिए, तेज़ी से बढ़ाया जाएगा (SCALING_FACTOR^NUM_TRIES * delay). अगर इसे गलत पर सेट किया जाता है, तो देरी को रैखिक रूप से बढ़ाया जाएगा (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)

यह कुकी, एचटीटीपी अनुरोधों के बाहर इस्तेमाल किए जाने वाले उपयोगकर्ता एजेंट को सेट करती है. उदाहरण के लिए, QUIC हैंडशेक के लिए.

एचटीटीपी अनुरोधों के लिए डिफ़ॉल्ट उपयोगकर्ता एजेंट सेट करने के लिए, इसके बजाय 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
)

यह उस कनेक्शन के लिए ज़्यादा से ज़्यादा निष्क्रिय समय सेट करता है जिसने अब तक एसएसएल हैंडशेक पूरा नहीं किया है.

रिटर्न
QuicOptions.Builder

चेन बनाने वाला बिल्डर

setRetransmittableOnWireTimeoutMillis

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

इससे वायर पर पैकेट के बीच ज़्यादा से ज़्यादा समय सेट किया जाता है.

जब वायर पर फिर से ट्रांसमिट करने का समय खत्म हो जाता है, तो Cronet आर्टिफ़िशियल ट्रैफ़िक का इस्तेमाल करके नेटवर्क की क्वालिटी की जांच करेगा. टाइम आउट का समय कम होने पर, खराब या कमज़ोर पाथ का पता आम तौर पर जल्दी चल जाता है. हालांकि, इससे बैटरी और डेटा जैसे संसाधनों का इस्तेमाल भी ज़्यादा होता है.

रिटर्न
QuicOptions.Builder

चेन बनाने वाला बिल्डर