BidirectionalStream.Callback

public 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

Phương thức công khai

void

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

abstract void
onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

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

abstract void
onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

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

abstract void

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

void

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

abstract void

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

abstract void

Đượ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 void
onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

Đượ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

public Callback()

Phương thức công khai

onCanceled

public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)

Đượ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ố
BidirectionalStream stream

luồng bị huỷ

UrlResponseInfo info

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

onFailed

public abstract void onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

Đượ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ố
BidirectionalStream stream

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

UrlResponseInfo info

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

CronetException error

thông tin về lỗi

onReadCompleted

public abstract void onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

Đượ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ố
BidirectionalStream stream

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

UrlResponseInfo info

thông tin phản hồi

ByteBuffer buffer

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.

boolean endOfStream

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

public abstract void onResponseHeadersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info
)

Đượ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ố
BidirectionalStream stream

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

UrlResponseInfo info

thông tin phản hồi.

onResponseTrailersReceived

public void onResponseTrailersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info,
    UrlResponseInfo.HeaderBlock trailers
)

Đượ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ố
BidirectionalStream stream

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

UrlResponseInfo info

thông tin phản hồi

UrlResponseInfo.HeaderBlock trailers

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

onStreamReady

public abstract void onStreamReady(BidirectionalStream stream)

Đượ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ố
BidirectionalStream stream

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

onSucceeded

public abstract void onSucceeded(BidirectionalStream stream, UrlResponseInfo info)

Đượ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ố
BidirectionalStream stream

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

UrlResponseInfo info

thông tin phản hồi

onWriteCompleted

public abstract void onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

Đượ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ố
BidirectionalStream stream

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

UrlResponseInfo info

thông tin phản hồi

ByteBuffer buffer

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.

boolean endOfStream

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