BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


Builder untuk BidirectionalStream. Memungkinkan konfigurasi aliran sebelum membuatnya melalui build. Dibuat oleh newBidirectionalStreamBuilder.

Ringkasan

Konstanta

static final int

Prioritas streaming tertinggi.

static final int

Prioritas aliran terendah.

static final int

Prioritas streaming rendah.

static final int

Prioritas streaming sangat rendah.

static final int

Prioritas aliran sedang.

Konstruktor publik

Metode publik

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

Menambahkan header permintaan.

BidirectionalStream.Builder

Mengaitkan objek anotasi dengan permintaan ini.

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

Mengikat permintaan ke handle jaringan yang ditentukan.

abstract BidirectionalStream

Membuat BidirectionalStream menggunakan konfigurasi dari Builder ini.

abstract BidirectionalStream.Builder
delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

Menunda pengiriman header permintaan hingga flush dipanggil.

abstract BidirectionalStream.Builder

Menetapkan metode HTTP untuk permintaan.

abstract BidirectionalStream.Builder
setPriority(int priority)

Menetapkan prioritas aliran yang harus berupa salah satu nilai STREAM_PRIORITY_*.

BidirectionalStream.Builder

Menetapkan tag android.net.TrafficStats yang akan digunakan saat memperhitungkan traffic soket yang disebabkan oleh permintaan ini.

BidirectionalStream.Builder

Menetapkan UID tertentu untuk digunakan saat menghitung traffic soket yang disebabkan oleh permintaan ini.

Konstanta

STREAM_PRIORITY_HIGHEST

public static final int STREAM_PRIORITY_HIGHEST = 4

Prioritas streaming tertinggi. Diteruskan ke setPriority.

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

Prioritas aliran terendah. Diteruskan ke setPriority.

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

Prioritas streaming rendah. Diteruskan ke setPriority.

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

Prioritas streaming sangat rendah. Diteruskan ke setPriority.

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

Prioritas aliran sedang. Diteruskan ke setPriority. Ini adalah prioritas default yang diberikan ke aliran.

Konstruktor publik

Builder

public Builder()

Metode publik

addHeader

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

Menambahkan header permintaan. Menampilkan builder untuk memfasilitasi penggabungan.

Parameter
String header

nama header

String value

nilai header

Hasil
BidirectionalStream.Builder

pembangun untuk memfasilitasi penggabungan

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

Mengaitkan objek anotasi dengan permintaan ini. Dapat menambahkan lebih dari satu. Diteruskan ke RequestFinishedInfo.Listener, lihat getAnnotations.

Parameter
Object annotation

objek untuk diteruskan ke RequestFinishedInfo.Listener dengan RequestFinishedInfo.

Hasil
BidirectionalStream.Builder

builder untuk memfasilitasi penggabungan.

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

Mengikat permintaan ke handle jaringan yang ditentukan. Cronet akan mengirim permintaan ini hanya menggunakan jaringan yang terkait dengan handle ini. Jika jaringan ini terputus, permintaan akan gagal, dan error yang tepat akan bergantung pada tahap pemrosesan permintaan saat jaringan terputus. Nama sebutan jaringan dapat diperoleh melalui Network#getNetworkHandle. Hanya tersedia mulai Android Marshmallow.

Parameter
long networkHandle

handle jaringan untuk mengikat permintaan. Tentukan UNBIND_NETWORK_HANDLE untuk membatalkan pengikatan.

Hasil
BidirectionalStream.Builder

builder untuk memfasilitasi penggabungan.

build

public abstract BidirectionalStream build()

Membuat BidirectionalStream menggunakan konfigurasi dari Builder ini. BidirectionalStream yang ditampilkan kemudian dapat dimulai dengan memanggil start.

Hasil
BidirectionalStream

membuat BidirectionalStream menggunakan konfigurasi dari Builder ini

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

Menunda pengiriman header permintaan hingga flush dipanggil. Saat ini, tanda ini hanya diperhatikan saat QUIC dinegosiasikan. Jika benar(true), QUIC akan mengirimkan frame header permintaan bersama dengan frame data sebagai satu paket jika memungkinkan.

Parameter
boolean delayRequestHeadersUntilFirstFlush

Jika benar, pengiriman header permintaan akan ditunda hingga flush() dipanggil.

Hasil
BidirectionalStream.Builder

builder untuk memfasilitasi penggabungan.

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

Menetapkan metode HTTP untuk permintaan. Menampilkan builder untuk memfasilitasi penggabungan.

Parameter
String method

metode yang akan digunakan untuk permintaan. Defaultnya adalah 'POST'

Hasil
BidirectionalStream.Builder

pembangun untuk memfasilitasi penggabungan

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

Menetapkan prioritas aliran yang harus berupa salah satu nilai STREAM_PRIORITY_*. Streaming diberi prioritas STREAM_PRIORITY_MEDIUM jika metode ini tidak dipanggil.

Parameter
int priority

prioritas streaming yang harus berupa salah satu nilai STREAM_PRIORITY_*.

Hasil
BidirectionalStream.Builder

builder untuk memfasilitasi penggabungan.

setTrafficStatsTag

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

Menetapkan tag android.net.TrafficStats yang akan digunakan saat memperhitungkan traffic soket yang disebabkan oleh permintaan ini. Lihat android.net.TrafficStats untuk informasi selengkapnya. Jika tidak ada tag yang ditetapkan (misalnya, metode ini tidak dipanggil), Android akan memperhitungkan traffic soket yang disebabkan oleh permintaan ini seolah-olah nilai tag ditetapkan ke 0.

CATATAN:Menetapkan tag melarang berbagi soket dengan permintaan yang memiliki tag lain, yang dapat memengaruhi performa secara negatif dengan melarang berbagi koneksi. Dengan kata lain, penggunaan soket yang di-multiplex (misalnya HTTP/2 dan QUIC) hanya akan diizinkan jika semua permintaan memiliki tag soket yang sama.

Parameter
int tag

nilai tag yang digunakan saat memperhitungkan traffic soket yang disebabkan oleh permintaan ini. Tag antara 0xFFFFFF00 dan 0xFFFFFFFF dicadangkan dan digunakan secara internal oleh layanan sistem seperti android.app.DownloadManager saat melakukan traffic atas nama aplikasi.

Hasil
BidirectionalStream.Builder

builder untuk memfasilitasi penggabungan.

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

Menetapkan UID tertentu untuk digunakan saat menghitung traffic soket yang disebabkan oleh permintaan ini. Lihat android.net.TrafficStats untuk mengetahui informasi selengkapnya. Dirancang untuk digunakan saat melakukan operasi atas nama aplikasi lain. Pemanggil harus memiliki izin MODIFY_NETWORK_ACCOUNTING. Secara default, traffic diatribusikan ke UID pemanggil.

CATATAN:Menetapkan UID melarang berbagi soket dengan permintaan yang memiliki UID lain, yang dapat memengaruhi performa secara negatif dengan melarang berbagi koneksi. Dengan kata lain, penggunaan soket yang di-multiplex (misalnya HTTP/2 dan QUIC) hanya akan diizinkan jika semua permintaan memiliki set UID yang sama.

Parameter
int uid

UID untuk mengatribusikan traffic soket yang disebabkan oleh permintaan ini.

Hasil
BidirectionalStream.Builder

builder untuk memfasilitasi penggabungan.