BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


Class callback yang digunakan untuk menerima callback dari BidirectionalStream.

Ringkasan

Konstruktor publik

Fungsi publik

Unit

Dipanggil jika streaming dibatalkan melalui cancel.

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

Dipanggil jika streaming gagal karena alasan apa pun setelah start.

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

Dipanggil saat data dibaca ke dalam buffer yang diteruskan ke read().

abstract Unit

Dipanggil saat header respons awal diterima.

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

Dipanggil saat trailer diterima sebelum menutup streaming.

abstract Unit

Dipanggil saat streaming siap untuk dibaca dan ditulis.

abstract Unit

Dipanggil saat tidak ada data yang akan dibaca atau ditulis dan streaming ditutup dengan berhasil dari jarak jauh dan lokal.

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

Dipanggil saat seluruh ByteBuffer yang diteruskan ke write() dikirim.

Konstruktor publik

Callback

Callback()

Fungsi publik

onCanceled

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

Dipanggil jika streaming dibatalkan melalui cancel. Setelah dipanggil, metode BidirectionalStream.Callback lebih lanjut tidak akan dipanggil. Implementasi default tidak melakukan tindakan apa pun.

Parameter
stream: BidirectionalStream!

streaming yang dibatalkan

info: UrlResponseInfo!

informasi respons. Mungkin null jika tidak ada respons yang diterima.

onFailed

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

Dipanggil jika streaming gagal karena alasan apa pun setelah start. Kode error HTTP/2 dipetakan ke getCronetInternalErrorCode kode. Setelah dipanggil, metode BidirectionalStream.Callback lebih lanjut tidak akan dipanggil.

Parameter
stream: BidirectionalStream!

streaming yang gagal

info: UrlResponseInfo!

informasi respons. Mungkin null jika tidak ada respons yang diterima.

error: CronetException!

informasi tentang kegagalan

onReadCompleted

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

Dipanggil saat data dibaca ke dalam buffer yang diteruskan ke read(). Hanya sebagian buffer yang dapat diisi. Untuk melanjutkan membaca, panggil read(). Metode ini dapat dipanggil setelah onResponseTrailersReceived(), jika ada data baca yang tertunda sebelum trailer diterima.

Parameter
stream: BidirectionalStream!

streaming tempat pembacaan selesai

info: UrlResponseInfo!

informasi respons

buffer: ByteBuffer!

buffer yang diteruskan ke read(), yang kini berisi data yang diterima. Batas buffer tidak diubah. Posisi buffer ditetapkan ke akhir data yang diterima. Jika posisi tidak diperbarui, artinya sisi jarak jauh telah memberi sinyal bahwa tidak akan mengirim data lagi.

endOfStream: Boolean

jika benar (true), ini adalah data baca terakhir, jarak jauh tidak akan mengirim data lagi, dan sisi baca ditutup.

onResponseHeadersReceived

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

Dipanggil saat header respons awal diterima. Header tersedia dari info.getAllHeaders(). Konsumen dapat memanggil read() untuk mulai membaca. Konsumen dapat memanggil write() untuk mulai menulis atau menutup streaming.

Parameter
stream: BidirectionalStream!

streaming tempat header respons diterima.

info: UrlResponseInfo!

informasi respons.

onResponseTrailersReceived

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

Dipanggil saat trailer diterima sebelum menutup streaming. Hanya dipanggil saat server mengirim trailer, yang mungkin tidak. Dapat dipanggil saat ada data baca yang tersisa di buffer lokal. Implementasi default tidak melakukan tindakan apa pun.

Parameter
stream: BidirectionalStream!

streaming tempat trailer respons diterima

info: UrlResponseInfo!

informasi respons

trailers: UrlResponseInfo.HeaderBlock!

trailer yang diterima

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

Dipanggil saat streaming siap untuk dibaca dan ditulis. Konsumen dapat memanggil read() untuk mulai membaca data. Konsumen dapat memanggil write() untuk mulai menulis data.

Parameter
stream: BidirectionalStream!

streaming yang siap.

onSucceeded

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

Dipanggil saat tidak ada data yang akan dibaca atau ditulis dan streaming ditutup dengan berhasil dari jarak jauh dan lokal. Setelah dipanggil, metode BidirectionalStream.Callback lebih lanjut tidak akan dipanggil.

Parameter
stream: BidirectionalStream!

streaming yang ditutup dengan berhasil

info: UrlResponseInfo!

informasi respons

onWriteCompleted

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

Dipanggil saat seluruh ByteBuffer yang diteruskan ke write() dikirim. Posisi buffer diperbarui agar sama dengan batas buffer. Batas buffer tidak diubah. Untuk melanjutkan penulisan, panggil write().

Parameter
stream: BidirectionalStream!

streaming tempat penulisan selesai

info: UrlResponseInfo!

informasi respons

buffer: ByteBuffer!

buffer yang diteruskan ke write(). Posisi buffer ditetapkan ke batas buffer. Batas buffer tidak diubah.

endOfStream: Boolean

flag endOfStream yang diteruskan ke write() yang sesuai. Jika benar (true), sisi tulis ditutup.