BidirectionalStream.Callback

public abstract class BidirectionalStream.Callback


BidirectionalStream से कॉलबैक पाने के लिए इस्तेमाल की जाने वाली कॉलबैक क्लास.

खास जानकारी

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

पब्लिक मेथड

void

अगर cancel की मदद से स्ट्रीम रद्द की गई है, तो यह तरीका लागू किया जाता है.

abstract void
onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

start के बाद, अगर किसी भी वजह से स्ट्रीम नहीं हो पाई, तो यह तरीका लागू किया जाता है.

abstract void
onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

read() को पास किए गए बफ़र में डेटा पढ़ने पर, यह तरीका लागू किया जाता है.

abstract void

शुरुआती रिस्पॉन्स हेडर मिलने पर, यह तरीका लागू किया जाता है.

void

स्ट्रीम बंद करने से पहले ट्रेलर मिलने पर, यह तरीका लागू किया जाता है.

abstract void

स्ट्रीम को पढ़ने और लिखने के लिए तैयार होने पर, यह तरीका लागू किया जाता है.

abstract void

जब पढ़ने या लिखने के लिए कोई डेटा न हो और स्ट्रीम को रिमोट और स्थानीय तौर पर, दोनों जगह से बंद कर दिया गया हो, तब यह तरीका लागू किया जाता है.

abstract void
onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

write() को पास किया गया पूरा ByteBuffer भेजे जाने पर, यह तरीका लागू किया जाता है.

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

कॉलबैक

public Callback()

पब्लिक मेथड

onCanceled

public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)

अगर cancel की मदद से स्ट्रीम रद्द की गई है, तो यह तरीका लागू किया जाता है. इसे लागू करने के बाद, BidirectionalStream.Callback के अन्य तरीके लागू नहीं किए जाएंगे. डिफ़ॉल्ट तौर पर, यह तरीका कोई कार्रवाई नहीं करता.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जिसे रद्द किया गया है

UrlResponseInfo info

जवाब की जानकारी. अगर कोई जवाब नहीं मिला है, तो यह null हो सकता है.

onFailed

public abstract void onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

start के बाद, अगर किसी भी वजह से स्ट्रीम नहीं हो पाई, तो यह तरीका लागू किया जाता है. HTTP/2 गड़बड़ी कोड को getCronetInternalErrorCode कोड पर मैप किया जाता है. इसे लागू करने के बाद, BidirectionalStream.Callback के अन्य तरीके लागू नहीं किए जाएंगे.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जो नहीं हो पाई

UrlResponseInfo info

जवाब की जानकारी. अगर कोई जवाब नहीं मिला है, तो यह null हो सकता है.

CronetException error

स्ट्रीम नहीं हो पाने की जानकारी

onReadCompleted

public abstract void onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

read() को पास किए गए बफ़र में डेटा पढ़ने पर, यह तरीका लागू किया जाता है. ऐसा हो सकता है कि बफ़र का सिर्फ़ कुछ हिस्सा भरा गया हो. पढ़ना जारी रखने के लिए, read() को कॉल करें. अगर ट्रेलर मिलने से पहले, पढ़ने के लिए डेटा बचा था, तो onResponseTrailersReceived() के बाद इसे लागू किया जा सकता है.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जिस पर पढ़ना पूरा हो गया है

UrlResponseInfo info

जवाब की जानकारी

ByteBuffer buffer

वह बफ़र जिसे read() को पास किया गया था. इसमें अब मिला हुआ डेटा शामिल है. बफ़र की सीमा में कोई बदलाव नहीं किया जाता. बफ़र की पोज़िशन, मिले हुए डेटा के आखिर में सेट की जाती है. अगर पोज़िशन अपडेट नहीं की जाती है, तो इसका मतलब है कि रिमोट साइड ने सिग्नल दिया है कि वह अब कोई डेटा नहीं भेजेगी.

boolean endOfStream

अगर यह सही है, तो यह डेटा पढ़ने का आखिरी मौका है. रिमोट साइड अब कोई डेटा नहीं भेजेगी और पढ़ने वाली साइड बंद हो जाएगी.

onResponseHeadersReceived

public abstract void onResponseHeadersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info
)

शुरुआती रिस्पॉन्स हेडर मिलने पर, यह तरीका लागू किया जाता है. info.getAllHeaders() से हेडर उपलब्ध हैं. पढ़ना शुरू करने के लिए, उपभोक्ता read() को कॉल कर सकता है. लिखना शुरू करने या स्ट्रीम बंद करने के लिए, उपभोक्ता write() को कॉल कर सकता है.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जिस पर रिस्पॉन्स हेडर मिले थे.

UrlResponseInfo info

जवाब की जानकारी.

onResponseTrailersReceived

public void onResponseTrailersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info,
    UrlResponseInfo.HeaderBlock trailers
)

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

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जिस पर रिस्पॉन्स ट्रेलर मिले थे

UrlResponseInfo info

जवाब की जानकारी

UrlResponseInfo.HeaderBlock trailers

मिले हुए ट्रेलर

onStreamReady

public abstract void onStreamReady(BidirectionalStream stream)

स्ट्रीम को पढ़ने और लिखने के लिए तैयार होने पर, यह तरीका लागू किया जाता है. डेटा पढ़ना शुरू करने के लिए, उपभोक्ता read() को कॉल कर सकता है. डेटा लिखना शुरू करने के लिए, उपभोक्ता write() को कॉल कर सकता है.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जो तैयार है.

onSucceeded

public abstract void onSucceeded(BidirectionalStream stream, UrlResponseInfo info)

जब पढ़ने या लिखने के लिए कोई डेटा न हो और स्ट्रीम को रिमोट और स्थानीय तौर पर, दोनों जगह से बंद कर दिया गया हो, तब यह तरीका लागू किया जाता है. इसे लागू करने के बाद, BidirectionalStream.Callback के अन्य तरीके लागू नहीं किए जाएंगे.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जिसे सफलतापूर्वक बंद कर दिया गया है

UrlResponseInfo info

जवाब की जानकारी

onWriteCompleted

public abstract void onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

write() को पास किया गया पूरा ByteBuffer भेजे जाने पर, यह तरीका लागू किया जाता है. बफ़र की पोज़िशन को अपडेट करके, बफ़र की सीमा के बराबर किया जाता है. बफ़र की सीमा में कोई बदलाव नहीं किया जाता. लिखना जारी रखने के लिए, write() को कॉल करें.

पैरामीटर
BidirectionalStream stream

वह स्ट्रीम जिस पर लिखना पूरा हो गया है

UrlResponseInfo info

जवाब की जानकारी

ByteBuffer buffer

वह बफ़र जिसे write() को पास किया गया था. बफ़र की पोज़िशन, बफ़र की सीमा पर सेट की जाती है. बफ़र की सीमा में कोई बदलाव नहीं किया जाता.

boolean endOfStream

वह endOfStream फ़्लैग जिसे इससे जुड़े write() को पास किया गया था. अगर यह सही है, तो लिखने वाली साइड बंद हो जाती है.