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
)

يتم استدعاؤها عند إرسال `ByteBuffer` بالكامل الذي تم تمريره إلى write().

طُرق وضع التصميم العامة

رد الاتصال

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

إذا كانت القيمة هي true، فهذه هي آخر بيانات قراءة، ولن يرسل الجانب البعيد المزيد من البيانات، وسيتم إغلاق جانب القراءة.

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

يتم استدعاؤها عند إرسال `ByteBuffer` بالكامل الذي تم تمريره إلى write(). يتم تعديل موضع المخزن المؤقت ليكون هو نفسه الحد الأقصى للمخزن المؤقت. لا يتم تغيير الحد الأقصى للمخزن المؤقت. لمتابعة الكتابة، يُرجى استدعاء write().

المعلَمات
stream: BidirectionalStream!

البث الذي اكتملت عليه عملية الكتابة

info: UrlResponseInfo!

معلومات الاستجابة

buffer: ByteBuffer!

المخزن المؤقت الذي تم تمريره إلى write() يتم ضبط موضع المخزن المؤقت على الحد الأقصى للمخزن المؤقت. لا يتم تغيير الحد الأقصى للمخزن المؤقت.

endOfStream: Boolean

العلامة endOfStream التي تم تمريرها إلى write() المقابل إذا كانت القيمة هي true، يتم إغلاق جانب الكتابة.