BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


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

खास जानकारी

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

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

Unit

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

abstract Unit
onFailed(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    error: CronetException!
)

start के बाद, अगर किसी भी वजह से स्ट्रीम में गड़बड़ी हुई है, तो इसे कॉल किया जाता है.

abstract Unit
onReadCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
)

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

abstract Unit

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

Unit
onResponseTrailersReceived(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    trailers: UrlResponseInfo.HeaderBlock!
)

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

abstract Unit

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

abstract Unit

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

abstract Unit
onWriteCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
)

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

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

कॉलबैक

Callback()

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

onCanceled

fun onCanceled(stream: BidirectionalStream!, info: UrlResponseInfo!): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

info: UrlResponseInfo!

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

onFailed

abstract fun onFailed(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

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

पैरामीटर
stream: BidirectionalStream!

वह स्ट्रीम जिसमें गड़बड़ी हुई है

info: UrlResponseInfo!

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

error: CronetException!

गड़बड़ी के बारे में जानकारी

onReadCompleted

abstract fun onReadCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

info: UrlResponseInfo!

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

buffer: ByteBuffer!

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

endOfStream: Boolean

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

onResponseHeadersReceived

abstract fun onResponseHeadersReceived(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!
): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

info: UrlResponseInfo!

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

onResponseTrailersReceived

fun onResponseTrailersReceived(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    trailers: UrlResponseInfo.HeaderBlock!
): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

info: UrlResponseInfo!

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

trailers: UrlResponseInfo.HeaderBlock!

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

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

onSucceeded

abstract fun onSucceeded(stream: BidirectionalStream!, info: UrlResponseInfo!): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

info: UrlResponseInfo!

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

onWriteCompleted

abstract fun onWriteCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
): Unit

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

पैरामीटर
stream: BidirectionalStream!

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

info: UrlResponseInfo!

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

buffer: ByteBuffer!

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

endOfStream: Boolean

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