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
)

write() に渡された ByteBuffer 全体が送信されたときに呼び出されます。

パブリック コンストラクタ

コールバック

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

write() に渡された ByteBuffer 全体が送信されたときに呼び出されます。バッファの位置は、バッファの上限と同じになるように更新されます。バッファの上限は変更されません。書き込みを続行するには、write() を呼び出します。

パラメータ
stream: BidirectionalStream!

書き込みが完了したストリーム

info: UrlResponseInfo!

レスポンス情報

buffer: ByteBuffer!

write() に渡されたバッファ。バッファの位置は、バッファの上限に設定されます。バッファの上限は変更されません。

endOfStream: Boolean

対応する write() に渡された endOfStream フラグ。true の場合、書き込み側は閉じられます。