BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


BidirectionalStream の Builder。build を使用して構築する前にストリームを構成できます。newBidirectionalStreamBuilder によって作成されます。

概要

定数

static final int

ストリームの優先度が最も高い。

static final int

ストリームの優先度が最も低い。

static final int

ストリームの優先度が低い。

static final int

ストリームの優先度が非常に低い。

static final int

ストリームの優先度が中程度。

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

パブリック メソッド

abstract BidirectionalStream.Builder
addHeader(String header, String value)

リクエスト ヘッダーを追加します。

BidirectionalStream.Builder

アノテーション オブジェクトをこのリクエストに関連付けます。

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

リクエストを指定されたネットワーク ハンドルにバインドします。

abstract BidirectionalStream

この Builder の構成を使用して BidirectionalStream を作成します。

abstract BidirectionalStream.Builder
delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

flush が呼び出されるまでリクエスト ヘッダーの送信を遅らせます。

abstract BidirectionalStream.Builder

リクエストの HTTP メソッドを設定します。

abstract BidirectionalStream.Builder
setPriority(int priority)

ストリームの優先度を設定します。これは STREAM_PRIORITY_* 値のいずれかである必要があります。

BidirectionalStream.Builder

このリクエストによって発生したソケット トラフィックをカウントする際に使用する android.net.TrafficStats タグを設定します。

BidirectionalStream.Builder

このリクエストによって発生したソケット トラフィックをカウントする際に使用する特定の UID を設定します。

定数

STREAM_PRIORITY_HIGHEST

public static final int STREAM_PRIORITY_HIGHEST = 4

ストリームの優先度が最も高い。setPriority に渡されます。

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

ストリームの優先度が最も低い。setPriority に渡されます。

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

ストリームの優先度が低い。setPriority に渡されます。

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

ストリームの優先度が非常に低い。setPriority に渡されます。

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

ストリームの優先度が中程度。setPriority に渡されます。これは、ストリームに割り当てられるデフォルトの優先度です。

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

Builder

public Builder()

パブリック メソッド

addHeader

public abstract BidirectionalStream.Builder addHeader(String header, String value)

リクエスト ヘッダーを追加します。チェーン処理を容易にするために Builder を返します。

パラメータ
String header

ヘッダー名

String value

ヘッダー値

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

アノテーション オブジェクトをこのリクエストに関連付けます。複数追加できます。RequestFinishedInfo.Listener に渡されます。getAnnotations をご覧ください。

パラメータ
Object annotation

RequestFinishedInfo.Listener を使用して RequestFinishedInfo に渡すオブジェクト。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder。

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

リクエストを指定されたネットワーク ハンドルにバインドします。Cronet は、このハンドルに関連付けられたネットワークを使用してのみ、このリクエストを送信します。このネットワークが切断されると、リクエストは失敗します。正確なエラーは、ネットワークが切断されたときのリクエスト処理の段階によって異なります。ネットワーク ハンドルは Network#getNetworkHandle を使用して取得できます。Android Marshmallow 以降でのみ使用できます。

パラメータ
long networkHandle

リクエストをバインドするネットワーク ハンドル。バインドを解除するには UNBIND_NETWORK_HANDLE を指定します。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder。

build

public abstract BidirectionalStream build()

この Builder の構成を使用して BidirectionalStream を作成します。返された BidirectionalStream は、start を呼び出すことで開始できます。

戻り値
BidirectionalStream

この Builder の構成を使用して構築された BidirectionalStream

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

flush が呼び出されるまでリクエスト ヘッダーの送信を遅らせます。このフラグは、現在、QUIC がネゴシエートされた場合にのみ有効です。true の場合、QUIC は可能な限り、リクエスト ヘッダー フレームをデータフレームとともに単一のパケットとして送信します。

パラメータ
boolean delayRequestHeadersUntilFirstFlush

true の場合、リクエスト ヘッダーの送信は flush() が呼び出されるまで遅延します。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder。

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

リクエストの HTTP メソッドを設定します。チェーン処理を容易にするために Builder を返します。

パラメータ
String method

リクエストに使用するメソッド。デフォルトは「POST」です。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

ストリームの優先度を設定します。これは STREAM_PRIORITY_* 値のいずれかである必要があります。このメソッドが呼び出されない場合、ストリームには STREAM_PRIORITY_MEDIUM の優先度が割り当てられます。

パラメータ
int priority

ストリームの優先度。これは STREAM_PRIORITY_* 値のいずれかである必要があります。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder。

setTrafficStatsTag

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

このリクエストによって発生したソケット トラフィックをカウントする際に使用する android.net.TrafficStats タグを設定します。詳しくは、android.net.TrafficStats をご覧ください。タグが設定されていない場合(このメソッドが呼び出されない場合など)、Android は、このリクエストによって発生したソケット トラフィックを、タグ値が 0 に設定されているかのようにカウントします。

注:タグを設定すると、他のタグのリクエストとのソケットの共有が禁止され、接続の共有が禁止されるため、パフォーマンスに悪影響を及ぼす可能性があります。つまり、多重化ソケット(HTTP/2 や QUIC など)の使用は、すべてのリクエストに同じソケットタグが設定されている場合にのみ許可されます。

パラメータ
int tag

このリクエストによって発生したソケット トラフィックをカウントする際に使用されるタグ値。0xFFFFFF00 ~ 0xFFFFFFFF のタグは予約されており、アプリケーションに代わってトラフィックを実行する際に、android.app.DownloadManager などのシステム サービスによって内部的に使用されます。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder。

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

このリクエストによって発生したソケット トラフィックをカウントする際に使用する特定の UID を設定します。詳しくは、android.net.TrafficStats をご覧ください。別のアプリケーションに代わってオペレーションを実行する場合に使用するように設計されています。呼び出し元は MODIFY_NETWORK_ACCOUNTING 権限を保持している必要があります。デフォルトでは、トラフィックは呼び出し元の UID に帰属します。

注:UID を設定すると、他の UID のリクエストとのソケットの共有が禁止され、接続の共有が禁止されるため、パフォーマンスに悪影響を及ぼす可能性があります。つまり、多重化ソケット(HTTP/2 や QUIC など)の使用は、すべてのリクエストに同じ UID が設定されている場合にのみ許可されます。

パラメータ
int uid

このリクエストによって発生したソケット トラフィックを帰属させる UID。

戻り値
BidirectionalStream.Builder

チェーン処理を容易にするための Builder。