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
)

يتم استدعاء هذه الطريقة عند إرسال ByteBuffer بأكمله إلى write().

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

رد الاتصال

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
)

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

المعلَمات
BidirectionalStream stream

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

UrlResponseInfo info

معلومات الردّ

ByteBuffer buffer

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

boolean endOfStream

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