QuicOptions.Builder

class QuicOptions.Builder


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

खास जानकारी

सार्वजनिक फ़ंक्शन

QuicOptions.Builder!

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

QuicOptions.Builder!

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

QuicOptions.Builder!

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

QuicOptions.Builder!

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

QuicOptions.Builder!

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

QuicOptions!

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

QuicOptions.Builder!

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

QuicOptions.Builder!
@QuicOptions.Experimental
delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
)

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

QuicOptions.Builder!

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

QuicOptions.Builder!

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

QuicOptions.Builder!
@QuicOptions.Experimental
increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
)

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

QuicOptions.Builder!

इस नीति से यह तय किया जाता है कि QUIC प्रोटोकॉल की गड़बड़ियों की वजह से पूरे न हो पाने वाले अनुरोधों को, किसी भी alt-svc सर्वर का इस्तेमाल किए बिना फिर से आज़माया जाना चाहिए या नहीं.

QuicOptions.Builder!

यह कुकी, कनेक्शन के लिए SSL हैंडशेक का टाइमआउट सेट करती है.

QuicOptions.Builder!
setHandshakeUserAgent(handshakeUserAgent: String!)

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

QuicOptions.Builder!
@RequiresApi(value = VERSION_CODES.O)
setIdleConnectionTimeout(idleConnectionTimeout: Duration)

setIdleConnectionTimeoutSeconds की तरह है, लेकिन इसमें java.time.Duration का इस्तेमाल किया जाता है.

QuicOptions.Builder!
setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long)

यह कुकी, कनेक्शन के लिए ज़्यादा से ज़्यादा निष्क्रिय समय सेट करती है.

QuicOptions.Builder!
setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int)

यह कुकी सेट करती है कि मेमोरी में कितने सर्वर कॉन्फ़िगरेशन (मेटाडेटा, जैसे कि alt svc की सूची, QUIC काम करता है या नहीं वगैरह) सेव किए जाने चाहिए.

QuicOptions.Builder!
@QuicOptions.Experimental
setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
)

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

QuicOptions.Builder!
@QuicOptions.Experimental
setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
)

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

QuicOptions.Builder!
@QuicOptions.Experimental
setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
)

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

सार्वजनिक फ़ंक्शन

addAllowedQuicHost

fun addAllowedQuicHost(quicHost: String!): QuicOptions.Builder!

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

अगर कोई होस्ट नहीं चुना जाता है, तो हर होस्ट के हिसाब से अनुमति वाली सूची की सुविधा बंद हो जाती है. ऐसा न होने पर, Cronet सिर्फ़ उन होस्ट के साथ कम्यूनिकेट करने के लिए QUIC का इस्तेमाल करेगा जिन्हें अनुमति दी गई है.

रिटर्न
QuicOptions.Builder!

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

addClientConnectionOption

@QuicOptions.QuichePassthroughOption
fun addClientConnectionOption(clientConnectionOption: String!): QuicOptions.Builder!

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

ज़्यादा जानकारी के लिए, addConnectionOption पर जाएं.

addConnectionOption

@QuicOptions.QuichePassthroughOption
fun addConnectionOption(connectionOption: String!): QuicOptions.Builder!

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

QUIC टैग को चार अक्षरों तक की स्ट्रिंग के तौर पर दिखाया जाना चाहिए. उदाहरण के लिए, NBHD.

QUIC टैग पर लगातार काम किया जा रहा है. साथ ही, कुछ टैग सिर्फ़ सर्वर के लिए काम के होते हैं. इसलिए, Cronet, एपीआई के हिस्से के तौर पर, QUIC के साथ काम करने वाले सभी फ़्लैग की पूरी सूची को बनाए रखने की कोशिश नहीं करता. फ़्लैग. QUICHE के साथ काम करने वाले फ़्लैग यहां देखे जा सकते हैं. QUICHE, QUIC प्रोटोकॉल को लागू करने वाला एक ऐसा तरीका है जिसका इस्तेमाल Cronet और Google सर्वर करते हैं.

रिटर्न
QuicOptions.Builder!

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

addEnabledQuicVersion

@QuicOptions.QuichePassthroughOption
fun addEnabledQuicVersion(enabledQuicVersion: String!): QuicOptions.Builder!

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

अगर कोई वर्शन नहीं दिया जाता है, तो Cronet, QUIC के डिफ़ॉल्ट वर्शन की सूची का इस्तेमाल करेगा.

वर्शन का फ़ॉर्मैट, QUICHE के हिसाब से तय किया जाता है. Cronet, पुराने हो चुके वर्शन को फ़िल्टर करने के अलावा, किसी भी तरह से वर्शन को प्रोसेस नहीं करता है. यह उन्हें सीधे तौर पर QUICHE को भेज देता है.

रिटर्न
QuicOptions.Builder!

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

addExtraQuicheFlag

@QuicOptions.QuichePassthroughOption
fun addExtraQuicheFlag(extraQuicheFlag: String!): QuicOptions.Builder!

यह कुकी, QUICHE फ़्लैग सेट करती है. फ़्लैग, FLAG_NAME=FLAG_VALUE फ़ॉर्मैट में पास किए जाने चाहिए. फ़्लैग की पूरी सूची देखने के लिए, QUICHE कोड बेस देखें.

रिटर्न
QuicOptions.Builder!

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

बनाएं

fun build(): QuicOptions!

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

closeSessionsOnIpChange

@QuicOptions.Experimental
fun closeSessionsOnIpChange(closeSessionsOnIpChange: Boolean): QuicOptions.Builder!

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

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

रिटर्न
QuicOptions.Builder!

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

delayJobsWithAvailableSpdySession

@QuicOptions.Experimental
fun delayJobsWithAvailableSpdySession(
    delayJobsWithAvailableSpdySession: Boolean
): QuicOptions.Builder!

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

रिटर्न
QuicOptions.Builder!

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

enableTlsZeroRtt

@QuicOptions.Experimental
fun enableTlsZeroRtt(enableTlsZeroRtt: Boolean): QuicOptions.Builder!

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

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

रिटर्न
QuicOptions.Builder!

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

goawaySessionsOnIpChange

@QuicOptions.Experimental
fun goawaySessionsOnIpChange(goawaySessionsOnIpChange: Boolean): QuicOptions.Builder!

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

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

रिटर्न
QuicOptions.Builder!

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

increaseBrokenServicePeriodExponentially

@QuicOptions.Experimental
fun increaseBrokenServicePeriodExponentially(
    increaseBrokenServicePeriodExponentially: Boolean
): QuicOptions.Builder!

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

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

रिटर्न
QuicOptions.Builder!

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

retryWithoutAltSvcOnQuicErrors

@QuicOptions.Experimental
fun retryWithoutAltSvcOnQuicErrors(retryWithoutAltSvcOnQuicErrors: Boolean): QuicOptions.Builder!

इस नीति से यह तय किया जाता है कि QUIC प्रोटोकॉल की गड़बड़ियों की वजह से पूरे न हो पाने वाले अनुरोधों को, किसी भी alt-svc सर्वर का इस्तेमाल किए बिना फिर से आज़माया जाना चाहिए या नहीं.

रिटर्न
QuicOptions.Builder!

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

setCryptoHandshakeTimeoutSeconds

@QuicOptions.Experimental
fun setCryptoHandshakeTimeoutSeconds(cryptoHandshakeTimeoutSeconds: Long): QuicOptions.Builder!

यह कुकी, कनेक्शन के लिए SSL हैंडशेक का टाइमआउट सेट करती है.

रिटर्न
QuicOptions.Builder!

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

setHandshakeUserAgent

fun setHandshakeUserAgent(handshakeUserAgent: String!): QuicOptions.Builder!

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

एचटीटीपी अनुरोधों के लिए डिफ़ॉल्ट उपयोगकर्ता एजेंट सेट करने के लिए, इसके बजाय setUserAgent का इस्तेमाल करें.

रिटर्न
QuicOptions.Builder!

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

setIdleConnectionTimeout

@RequiresApi(value = VERSION_CODES.O)
fun setIdleConnectionTimeout(idleConnectionTimeout: Duration): QuicOptions.Builder!

setIdleConnectionTimeoutSeconds की तरह है, लेकिन इसमें java.time.Duration का इस्तेमाल किया जाता है.

रिटर्न
QuicOptions.Builder!

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

setIdleConnectionTimeoutSeconds

fun setIdleConnectionTimeoutSeconds(idleConnectionTimeoutSeconds: Long): QuicOptions.Builder!

यह कुकी, कनेक्शन के लिए ज़्यादा से ज़्यादा निष्क्रिय समय सेट करती है. निष्क्रियता की समयसीमा की असल वैल्यू, इस वैल्यू और सर्वर की वैल्यू में से सबसे कम वैल्यू होती है. इस वैल्यू पर हैंडशेक के दौरान बातचीत की जाती है. इसलिए, यह सिर्फ़ हैंडशेक की प्रोसेस पूरी होने के बाद लागू होता है. अगर सेट की गई अवधि तक कनेक्शन पर कोई गतिविधि नहीं होती है, तो कनेक्शन बंद हो जाता है.

ज़्यादा जानकारी के लिए, RFC 9114, सेक्शन 5.1 देखें.

रिटर्न
QuicOptions.Builder!

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

setInMemoryServerConfigsCacheSize

fun setInMemoryServerConfigsCacheSize(inMemoryServerConfigsCacheSize: Int): QuicOptions.Builder!

यह कुकी सेट करती है कि मेमोरी में कितने सर्वर कॉन्फ़िगरेशन (मेटाडेटा, जैसे कि alt svc की सूची, QUIC काम करता है या नहीं वगैरह) सेव किए जाने चाहिए.

अगर स्टोरेज पाथ सेट किया गया है (setStoragePath, तो Cronet, सर्वर के कॉन्फ़िगरेशन को डिस्क पर भी सेव करेगा.

रिटर्न
QuicOptions.Builder!

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

setInitialBrokenServicePeriodSeconds

@QuicOptions.Experimental
fun setInitialBrokenServicePeriodSeconds(
    initialBrokenServicePeriodSeconds: Long
): QuicOptions.Builder!

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

जब Cronet को पता चलता है कि कोई सर्वर QUIC का इस्तेमाल करने का दावा करता है, लेकिन असल में ऐसा नहीं करता, तो वह सर्वर को खराब के तौर पर मार्क कर देता है. साथ ही, कुछ समय तक सर्वर से कम्यूनिकेट करते समय QUIC का इस्तेमाल करने की कोशिश नहीं करता. Cronet इस पॉइंट से आगे बढ़ने के बाद, QUIC का फिर से इस्तेमाल करने की कोशिश करेगा. ऐसा इसलिए किया जाता है, ताकि कम समय (अगर सर्वर काम नहीं कर रहा है, तो QUIC का इस्तेमाल करने की कोशिश में संसाधनों को बर्बाद करने का कोई मतलब नहीं है) और लंबे समय (सर्वर में कुछ समय के लिए समस्या हो सकती है, QUIC का इस्तेमाल करना आम तौर पर फ़ायदेमंद होता है) के हितों को ध्यान में रखा जा सके.

हर बार अनुरोध पूरा न होने पर, अनुरोध भेजने के बीच का समय बढ़ता जाता है. ज़्यादा जानकारी के लिए, increaseBrokenServicePeriodExponentially पर जाएं.

रिटर्न
QuicOptions.Builder!

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

setPreCryptoHandshakeIdleTimeoutSeconds

@QuicOptions.Experimental
fun setPreCryptoHandshakeIdleTimeoutSeconds(
    preCryptoHandshakeIdleTimeoutSeconds: Long
): QuicOptions.Builder!

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

रिटर्न
QuicOptions.Builder!

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

setRetransmittableOnWireTimeoutMillis

@QuicOptions.Experimental
fun setRetransmittableOnWireTimeoutMillis(
    retransmittableOnWireTimeoutMillis: Long
): QuicOptions.Builder!

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

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

रिटर्न
QuicOptions.Builder!

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