BidirectionalStream.Builder

abstract class BidirectionalStream.Builder


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

Ringkasan

Konstanta

const Int

Prioritas streaming tertinggi.

const Int

Prioritas aliran terendah.

const Int

Prioritas streaming rendah.

const Int

Prioritas streaming sangat rendah.

const Int

Prioritas aliran sedang.

Konstruktor publik

Fungsi publik

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

Menambahkan header permintaan.

BidirectionalStream.Builder!
addRequestAnnotation(annotation: Any!)

Mengaitkan objek anotasi dengan permintaan ini.

BidirectionalStream.Builder!
bindToNetwork(networkHandle: Long)

Mengikat permintaan ke handle jaringan yang ditentukan.

abstract BidirectionalStream!

Membuat BidirectionalStream menggunakan konfigurasi dari Builder ini.

abstract BidirectionalStream.Builder!
delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
)

Menunda pengiriman header permintaan hingga flush dipanggil.

abstract BidirectionalStream.Builder!

Menetapkan metode HTTP untuk permintaan.

abstract BidirectionalStream.Builder!
setPriority(priority: Int)

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

const val STREAM_PRIORITY_HIGHEST = 4: Int

Prioritas streaming tertinggi. Diteruskan ke setPriority.

STREAM_PRIORITY_IDLE

const val STREAM_PRIORITY_IDLE = 0: Int

Prioritas aliran terendah. Diteruskan ke setPriority.

STREAM_PRIORITY_LOW

const val STREAM_PRIORITY_LOW = 2: Int

Prioritas streaming rendah. Diteruskan ke setPriority.

STREAM_PRIORITY_LOWEST

const val STREAM_PRIORITY_LOWEST = 1: Int

Prioritas streaming sangat rendah. Diteruskan ke setPriority.

STREAM_PRIORITY_MEDIUM

const val STREAM_PRIORITY_MEDIUM = 3: Int

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

Konstruktor publik

Builder

Builder()

Fungsi publik

addHeader

abstract fun addHeader(header: String!, value: String!): BidirectionalStream.Builder!

Menambahkan header permintaan. Menampilkan builder untuk memfasilitasi penggabungan.

Parameter
header: String!

nama header

value: String!

nilai header

Hasil
BidirectionalStream.Builder!

pembangun untuk memfasilitasi penggabungan

addRequestAnnotation

fun addRequestAnnotation(annotation: Any!): BidirectionalStream.Builder!

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

Parameter
annotation: Any!

objek untuk diteruskan ke RequestFinishedInfo.Listener dengan RequestFinishedInfo.

Hasil
BidirectionalStream.Builder!

builder untuk memfasilitasi penggabungan.

bindToNetwork

fun bindToNetwork(networkHandle: Long): BidirectionalStream.Builder!

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
networkHandle: Long

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

Hasil
BidirectionalStream.Builder!

builder untuk memfasilitasi penggabungan.

build

abstract fun build(): BidirectionalStream!

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

abstract fun delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
): BidirectionalStream.Builder!

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
delayRequestHeadersUntilFirstFlush: Boolean

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

Hasil
BidirectionalStream.Builder!

builder untuk memfasilitasi penggabungan.

setHttpMethod

abstract fun setHttpMethod(method: String!): BidirectionalStream.Builder!

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

Parameter
method: String!

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

Hasil
BidirectionalStream.Builder!

pembangun untuk memfasilitasi penggabungan

setPriority

abstract fun setPriority(priority: Int): BidirectionalStream.Builder!

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

Parameter
priority: Int

prioritas streaming yang harus berupa salah satu nilai STREAM_PRIORITY_*.

Hasil
BidirectionalStream.Builder!

builder untuk memfasilitasi penggabungan.

setTrafficStatsTag

fun setTrafficStatsTag(tag: Int): BidirectionalStream.Builder!

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
tag: Int

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

fun setTrafficStatsUid(uid: Int): BidirectionalStream.Builder!

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
uid: Int

UID untuk mengatribusikan traffic soket yang disebabkan oleh permintaan ini.

Hasil
BidirectionalStream.Builder!

builder untuk memfasilitasi penggabungan.