BidirectionalStream.Builder

abstract class BidirectionalStream.Builder


BidirectionalStream सेकंड के लिए बिल्डर. इस नीति की मदद से, build के ज़रिए स्ट्रीम बनाने से पहले उसे कॉन्फ़िगर किया जा सकता है. इसे newBidirectionalStreamBuilder ने बनाया है.

खास जानकारी

कॉन्स्टेंट

const Int

स्ट्रीम की सबसे ज़्यादा प्राथमिकता.

const Int

स्ट्रीम की सबसे कम प्राथमिकता.

const Int

स्ट्रीम की प्राथमिकता कम है.

const Int

स्ट्रीम की प्राथमिकता बहुत कम है.

const Int

स्ट्रीम की प्राथमिकता मीडियम है.

सार्वजनिक कंस्ट्रक्टर

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

abstract BidirectionalStream.Builder!
addHeader(header: String!, value: String!)

यह कुकी, अनुरोध का हेडर जोड़ती है.

BidirectionalStream.Builder!
addRequestAnnotation(annotation: Any!)

इस अनुरोध के साथ एनोटेशन ऑब्जेक्ट को जोड़ता है.

BidirectionalStream.Builder!
bindToNetwork(networkHandle: Long)

यह अनुरोध को बताए गए नेटवर्क हैंडल से बाइंड करता है.

abstract BidirectionalStream!

इस Builder के कॉन्फ़िगरेशन का इस्तेमाल करके, BidirectionalStream बनाता है.

abstract BidirectionalStream.Builder!
delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
)

यह कुकी, flush को कॉल किए जाने तक अनुरोध के हेडर भेजने में देरी करती है.

abstract BidirectionalStream.Builder!

यह अनुरोध के लिए एचटीटीपी तरीका सेट करता है.

abstract BidirectionalStream.Builder!
setPriority(priority: Int)

यह उस स्ट्रीम की प्राथमिकता सेट करता है जो STREAM_PRIORITY_* वैल्यू में से एक होनी चाहिए.

BidirectionalStream.Builder!

यह कुकी, android.net.TrafficStats टैग सेट करती है. इसका इस्तेमाल तब किया जाता है, जब इस अनुरोध की वजह से सॉकेट ट्रैफ़िक जनरेट होता है.

BidirectionalStream.Builder!

यह कुकी, इस अनुरोध की वजह से होने वाले सॉकेट ट्रैफ़िक का हिसाब रखते समय इस्तेमाल करने के लिए खास यूआईडी सेट करती है.

कॉन्स्टेंट

STREAM_PRIORITY_HIGHEST

const val STREAM_PRIORITY_HIGHEST = 4: Int

स्ट्रीम की सबसे ज़्यादा प्राथमिकता. setPriority को पास किया गया.

STREAM_PRIORITY_IDLE

const val STREAM_PRIORITY_IDLE = 0: Int

स्ट्रीम की सबसे कम प्राथमिकता. setPriority को पास किया गया.

STREAM_PRIORITY_LOW

const val STREAM_PRIORITY_LOW = 2: Int

स्ट्रीम की प्राथमिकता कम है. setPriority को पास किया गया.

STREAM_PRIORITY_LOWEST

const val STREAM_PRIORITY_LOWEST = 1: Int

स्ट्रीम की प्राथमिकता बहुत कम है. setPriority को पास किया गया.

STREAM_PRIORITY_MEDIUM

const val STREAM_PRIORITY_MEDIUM = 3: Int

स्ट्रीम की प्राथमिकता मीडियम है. setPriority को पास किया गया. यह स्ट्रीम को दी गई डिफ़ॉल्ट प्राथमिकता है.

सार्वजनिक कंस्ट्रक्टर

बिल्डर

Builder()

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

addHeader

abstract fun addHeader(header: String!, value: String!): BidirectionalStream.Builder!

यह कुकी, अनुरोध का हेडर जोड़ती है. चेनिंग की सुविधा देने के लिए, बिल्डर को दिखाता है.

पैरामीटर
header: String!

हेडर का नाम

value: String!

हेडर की वैल्यू

रिटर्न
BidirectionalStream.Builder!

चेनिंग की सुविधा देने के लिए बिल्डर

addRequestAnnotation

fun addRequestAnnotation(annotation: Any!): BidirectionalStream.Builder!

इस अनुरोध के साथ एनोटेशन ऑब्जेक्ट को जोड़ता है. एक से ज़्यादा भी जोड़े जा सकते हैं. RequestFinishedInfo.Listener को पास किया गया, getAnnotations देखें.

पैरामीटर
annotation: Any!

RequestFinishedInfo प्रॉपर्टी वाला एक ऑब्जेक्ट, जिसे RequestFinishedInfo.Listener को पास किया जा सकता है.

रिटर्न
BidirectionalStream.Builder!

बिल्डर को चेन बनाने में मदद करता है.

bindToNetwork

fun bindToNetwork(networkHandle: Long): BidirectionalStream.Builder!

यह अनुरोध को बताए गए नेटवर्क हैंडल से बाइंड करता है. Cronet, इस अनुरोध को सिर्फ़ इस हैंडल से जुड़े नेटवर्क का इस्तेमाल करके भेजेगा. अगर यह नेटवर्क डिसकनेक्ट हो जाता है, तो अनुरोध पूरा नहीं होगा. गड़बड़ी की सटीक जानकारी इस बात पर निर्भर करेगी कि नेटवर्क डिसकनेक्ट होने पर, अनुरोध को प्रोसेस करने की प्रोसेस किस चरण में थी. नेटवर्क हैंडल, Network#getNetworkHandle के ज़रिए पाए जा सकते हैं. यह सुविधा सिर्फ़ Android Marshmallow और इसके बाद के वर्शन पर उपलब्ध है.

पैरामीटर
networkHandle: Long

अनुरोध को बाइंड करने के लिए नेटवर्क हैंडल. अनबाइंड करने के लिए, UNBIND_NETWORK_HANDLE तय करें.

रिटर्न
BidirectionalStream.Builder!

बिल्डर को चेन बनाने में मदद करता है.

बनाएं

abstract fun build(): BidirectionalStream!

इस Builder के कॉन्फ़िगरेशन का इस्तेमाल करके, BidirectionalStream बनाता है. इसके बाद, BidirectionalStream को start पर कॉल करके शुरू किया जा सकता है.

रिटर्न
BidirectionalStream!

इस Builder के कॉन्फ़िगरेशन का इस्तेमाल करके BidirectionalStream बनाया गया

delayRequestHeadersUntilFirstFlush

abstract fun delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
): BidirectionalStream.Builder!

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

पैरामीटर
delayRequestHeadersUntilFirstFlush: Boolean

अगर यह विकल्प चालू है, तो अनुरोध हेडर भेजने में तब तक देरी होगी, जब तक flush() को कॉल नहीं किया जाता.

रिटर्न
BidirectionalStream.Builder!

बिल्डर को चेन बनाने में मदद करता है.

setHttpMethod

abstract fun setHttpMethod(method: String!): BidirectionalStream.Builder!

यह अनुरोध के लिए एचटीटीपी तरीका सेट करता है. चेनिंग की सुविधा देने के लिए, बिल्डर को दिखाता है.

पैरामीटर
method: String!

अनुरोध के लिए इस्तेमाल किया जाने वाला तरीका. डिफ़ॉल्ट वैल्यू 'POST' होती है

रिटर्न
BidirectionalStream.Builder!

चेनिंग की सुविधा देने के लिए बिल्डर

setPriority

abstract fun setPriority(priority: Int): BidirectionalStream.Builder!

यह उस स्ट्रीम की प्राथमिकता सेट करता है जो STREAM_PRIORITY_* वैल्यू में से एक होनी चाहिए. अगर इस तरीके को कॉल नहीं किया जाता है, तो स्ट्रीम को STREAM_PRIORITY_MEDIUM प्राथमिकता दी जाती है.

पैरामीटर
priority: Int

स्ट्रीम की प्राथमिकता, जो STREAM_PRIORITY_* वैल्यू में से एक होनी चाहिए.

रिटर्न
BidirectionalStream.Builder!

बिल्डर को चेन बनाने में मदद करता है.

setTrafficStatsTag

fun setTrafficStatsTag(tag: Int): BidirectionalStream.Builder!

यह कुकी, android.net.TrafficStats टैग सेट करती है. इसका इस्तेमाल तब किया जाता है, जब इस अनुरोध की वजह से सॉकेट ट्रैफ़िक जनरेट होता है. ज़्यादा जानकारी के लिए, android.net.TrafficStats पर जाएं. अगर कोई टैग सेट नहीं किया जाता है (जैसे, इस तरीके को कॉल नहीं किया जाता है), तो Android, इस अनुरोध की वजह से होने वाले सॉकेट ट्रैफ़िक को इस तरह से हिसाब में लेता है जैसे टैग की वैल्यू 0 पर सेट की गई हो.

ध्यान दें: टैग सेट करने से, अन्य टैग वाले अनुरोधों के साथ सॉकेट शेयर करने की अनुमति नहीं मिलती है. इससे कनेक्शन शेयर करने पर रोक लग जाती है और परफ़ॉर्मेंस पर बुरा असर पड़ सकता है. दूसरे शब्दों में कहें, तो मल्टीप्लेक्स किए गए सॉकेट (जैसे, HTTP/2 और QUIC) का इस्तेमाल सिर्फ़ तब किया जा सकेगा, जब सभी अनुरोधों में एक ही सॉकेट टैग हो.

पैरामीटर
tag: Int

इस अनुरोध की वजह से होने वाले सॉकेट ट्रैफ़िक का हिसाब लगाते समय इस्तेमाल की गई टैग वैल्यू. 0xFFFFFF00 से 0xFFFFFFFF के बीच के टैग रिज़र्व किए जाते हैं. इनका इस्तेमाल सिस्टम की सेवाएं करती हैं. जैसे, android.app.DownloadManager किसी ऐप्लिकेशन की ओर से ट्रैफ़िक जनरेट करते समय.

रिटर्न
BidirectionalStream.Builder!

बिल्डर को चेन बनाने में मदद करता है.

setTrafficStatsUid

fun setTrafficStatsUid(uid: Int): BidirectionalStream.Builder!

यह कुकी, इस अनुरोध की वजह से होने वाले सॉकेट ट्रैफ़िक का हिसाब रखते समय इस्तेमाल करने के लिए खास यूआईडी सेट करती है. ज़्यादा जानकारी के लिए android.net.TrafficStats देखें. इसे किसी दूसरे ऐप्लिकेशन की ओर से कोई कार्रवाई करते समय इस्तेमाल करने के लिए डिज़ाइन किया गया है. कॉल करने वाले के पास MODIFY_NETWORK_ACCOUNTING की अनुमति होनी चाहिए. डिफ़ॉल्ट रूप से, ट्रैफ़िक को कॉल करने वाले के यूआईडी के लिए एट्रिब्यूट किया जाता है.

ध्यान दें: यूआईडी सेट करने पर, सॉकेट को अन्य यूआईडी वाले अनुरोधों के साथ शेयर नहीं किया जा सकता. इससे कनेक्शन शेयर करने पर पाबंदी लग जाती है और परफ़ॉर्मेंस पर बुरा असर पड़ सकता है. दूसरे शब्दों में कहें, तो मल्टीप्लेक्स किए गए सॉकेट (जैसे, HTTP/2 और QUIC) का इस्तेमाल सिर्फ़ तब किया जा सकेगा, जब सभी अनुरोधों के लिए एक ही यूआईडी सेट किया गया हो.

पैरामीटर
uid: Int

इस अनुरोध की वजह से होने वाले सॉकेट ट्रैफ़िक के लिए यूआईडी.

रिटर्न
BidirectionalStream.Builder!

बिल्डर को चेन बनाने में मदद करता है.