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
)

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

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

コールバック

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

true の場合、これが最後の読み取りデータであり、リモート側はこれ以上データを送信せず、読み取り側は閉じられます。

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
)

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

パラメータ
BidirectionalStream stream

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

UrlResponseInfo info

レスポンス情報

ByteBuffer buffer

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

boolean endOfStream

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