BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


Lớp gọi lại dùng để nhận các lệnh gọi lại từ một BidirectionalStream.

Tóm tắt

Hàm khởi tạo công khai

Hàm công khai

Unit

Được gọi nếu luồng bị huỷ thông qua cancel.

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

Được gọi nếu luồng không thành công vì bất kỳ lý do nào sau start.

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

Được gọi khi dữ liệu được đọc vào bộ đệm truyền đến read().

abstract Unit

Được gọi khi nhận được tiêu đề phản hồi ban đầu.

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

Được gọi khi nhận được đoạn giới thiệu trước khi đóng luồng.

abstract Unit

Được gọi khi luồng sẵn sàng để đọc và ghi.

abstract Unit

Được gọi khi không có dữ liệu nào cần đọc hoặc ghi và luồng đã đóng thành công từ xa và cục bộ.

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

Được gọi khi toàn bộ ByteBuffer được truyền đến write() được gửi.

Hàm khởi tạo công khai

Lệnh gọi lại

Callback()

Hàm công khai

onCanceled

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

Được gọi nếu luồng bị huỷ thông qua cancel. Sau khi được gọi, sẽ không có phương thức BidirectionalStream.Callback nào khác được gọi. Phương thức triển khai mặc định không thực hiện hành động nào.

Tham số
stream: BidirectionalStream!

luồng bị huỷ

info: UrlResponseInfo!

thông tin phản hồi. Có thể là null nếu không nhận được phản hồi.

onFailed

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

Được gọi nếu luồng không thành công vì bất kỳ lý do nào sau start. Mã lỗi HTTP/2 được liên kết với mã getCronetInternalErrorCode. Sau khi được gọi, sẽ không có phương thức BidirectionalStream.Callback nào khác được gọi.

Tham số
stream: BidirectionalStream!

luồng phát không thành công

info: UrlResponseInfo!

thông tin phản hồi. Có thể là null nếu không nhận được phản hồi.

error: CronetException!

thông tin về lỗi

onReadCompleted

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

Được gọi khi dữ liệu được đọc vào bộ đệm truyền đến read(). Chỉ một phần của vùng đệm có thể được điền. Để tiếp tục đọc, hãy gọi read(). Phương thức này có thể được gọi sau onResponseTrailersReceived(), nếu có dữ liệu đọc đang chờ xử lý trước khi nhận được đoạn giới thiệu.

Tham số
stream: BidirectionalStream!

luồng mà thao tác đọc đã hoàn tất

info: UrlResponseInfo!

thông tin phản hồi

buffer: ByteBuffer!

vùng đệm đã được truyền đến read(), hiện chứa dữ liệu đã nhận. Giới hạn của vùng đệm không thay đổi. Vị trí của vùng đệm được đặt ở cuối dữ liệu nhận được. Nếu vị trí không được cập nhật, điều đó có nghĩa là phía từ xa đã báo hiệu rằng sẽ không gửi thêm dữ liệu.

endOfStream: Boolean

nếu đúng, đây là dữ liệu được đọc gần đây nhất, từ xa sẽ không gửi thêm dữ liệu và phía đọc sẽ đóng.

onResponseHeadersReceived

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

Được gọi khi nhận được tiêu đề phản hồi ban đầu. Tiêu đề có trên info.getAllHeaders(). Người dùng có thể gọi read() để bắt đầu đọc. Người dùng có thể gọi write() để bắt đầu ghi hoặc đóng luồng.

Tham số
stream: BidirectionalStream!

luồng mà tiêu đề phản hồi được nhận.

info: UrlResponseInfo!

thông tin phản hồi.

onResponseTrailersReceived

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

Được gọi khi nhận được đoạn giới thiệu trước khi đóng luồng. Chỉ được gọi khi máy chủ gửi đoạn video giới thiệu (có thể không gửi). Có thể được gọi khi vẫn còn dữ liệu đọc trong bộ đệm cục bộ. Phương thức triển khai mặc định không thực hiện hành động nào.

Tham số
stream: BidirectionalStream!

luồng mà các đoạn video giới thiệu phản hồi được nhận

info: UrlResponseInfo!

thông tin phản hồi

trailers: UrlResponseInfo.HeaderBlock!

các đoạn giới thiệu nhận được

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

Được gọi khi luồng sẵn sàng để đọc và ghi. Người dùng có thể gọi read() để bắt đầu đọc dữ liệu. Consumer có thể gọi write() để bắt đầu ghi dữ liệu.

Tham số
stream: BidirectionalStream!

luồng đã sẵn sàng.

onSucceeded

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

Được gọi khi không có dữ liệu nào cần đọc hoặc ghi và luồng đã đóng thành công từ xa và cục bộ. Sau khi được gọi, sẽ không có phương thức BidirectionalStream.Callback nào khác được gọi.

Tham số
stream: BidirectionalStream!

luồng đã đóng thành công

info: UrlResponseInfo!

thông tin phản hồi

onWriteCompleted

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

Được gọi khi toàn bộ ByteBuffer được truyền đến write() được gửi. Vị trí của vùng đệm được cập nhật giống với giới hạn của vùng đệm. Giới hạn của vùng đệm không thay đổi. Để tiếp tục viết, hãy gọi write().

Tham số
stream: BidirectionalStream!

luồng mà thao tác ghi đã hoàn tất

info: UrlResponseInfo!

thông tin phản hồi

buffer: ByteBuffer!

vùng đệm được truyền đến write(). Vị trí của vùng đệm được đặt thành giới hạn của vùng đệm. Giới hạn của vùng đệm không thay đổi.

endOfStream: Boolean

cờ endOfStream được truyền đến write() tương ứng. Nếu là true, phía ghi sẽ đóng.