BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


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

खास जानकारी

कॉन्स्टेंट

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

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

पब्लिक मेथड

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

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

BidirectionalStream.Builder

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

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

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

abstract BidirectionalStream

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

abstract BidirectionalStream.Builder
delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

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

abstract BidirectionalStream.Builder

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

abstract BidirectionalStream.Builder
setPriority(int priority)

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

BidirectionalStream.Builder

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

BidirectionalStream.Builder

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

कॉन्स्टेंट

STREAM_PRIORITY_HIGHEST

public static final int STREAM_PRIORITY_HIGHEST = 4

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

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

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

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

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

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

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

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

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

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

बिल्डर

public Builder()

पब्लिक मेथड

addHeader

public abstract BidirectionalStream.Builder addHeader(String header, String value)

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

पैरामीटर
String header

हेडर का नाम

String value

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

रिटर्न
BidirectionalStream.Builder

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

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

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

पैरामीटर
Object annotation

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

रिटर्न
BidirectionalStream.Builder

बिल्डर को चेनिंग की सुविधा मिलती है.

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

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

पैरामीटर
long networkHandle

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

रिटर्न
BidirectionalStream.Builder

बिल्डर को चेनिंग की सुविधा मिलती है.

बनाएं

public abstract BidirectionalStream build()

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

रिटर्न
BidirectionalStream

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

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

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

पैरामीटर
boolean delayRequestHeadersUntilFirstFlush

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

रिटर्न
BidirectionalStream.Builder

बिल्डर को चेनिंग की सुविधा मिलती है.

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

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

पैरामीटर
String method

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

रिटर्न
BidirectionalStream.Builder

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

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

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

पैरामीटर
int priority

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

रिटर्न
BidirectionalStream.Builder

बिल्डर को चेनिंग की सुविधा मिलती है.

setTrafficStatsTag

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

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

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

पैरामीटर
int tag

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

रिटर्न
BidirectionalStream.Builder

बिल्डर को चेनिंग की सुविधा मिलती है.

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

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

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

पैरामीटर
int uid

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

रिटर्न
BidirectionalStream.Builder

बिल्डर को चेनिंग की सुविधा मिलती है.