BidirectionalStream.Builder

abstract class BidirectionalStream.Builder


Trình tạo cho BidirectionalStream. Cho phép định cấu hình luồng trước khi tạo luồng thông qua build. Người tạo: newBidirectionalStreamBuilder

Tóm tắt

Hằng số

const Int

Mức độ ưu tiên cao nhất của luồng.

const Int

Mức độ ưu tiên thấp nhất cho luồng.

const Int

Mức độ ưu tiên thấp cho luồng.

const Int

Mức độ ưu tiên của luồng rất thấp.

const Int

Mức độ ưu tiên trung bình của luồng.

Hàm khởi tạo công khai

Hàm công khai

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

Thêm tiêu đề của yêu cầu.

BidirectionalStream.Builder!
addRequestAnnotation(annotation: Any!)

Liên kết đối tượng chú thích với yêu cầu này.

BidirectionalStream.Builder!
bindToNetwork(networkHandle: Long)

Liên kết yêu cầu với mã nhận dạng mạng đã chỉ định.

abstract BidirectionalStream!

Tạo một BidirectionalStream bằng cấu hình từ Builder này.

abstract BidirectionalStream.Builder!
delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
)

Trì hoãn việc gửi tiêu đề yêu cầu cho đến khi flush được gọi.

abstract BidirectionalStream.Builder!

Đặt phương thức HTTP cho yêu cầu.

abstract BidirectionalStream.Builder!
setPriority(priority: Int)

Đặt mức độ ưu tiên của luồng, phải là một trong các giá trị STREAM_PRIORITY_*.

BidirectionalStream.Builder!

Đặt thẻ android.net.TrafficStats để sử dụng khi tính lưu lượng truy cập socket do yêu cầu này gây ra.

BidirectionalStream.Builder!

Đặt UID cụ thể để sử dụng khi tính lưu lượng truy cập ổ cắm do yêu cầu này gây ra.

Hằng số

STREAM_PRIORITY_HIGHEST

const val STREAM_PRIORITY_HIGHEST = 4: Int

Mức độ ưu tiên cao nhất của luồng. Đã chuyển đến setPriority.

STREAM_PRIORITY_IDLE

const val STREAM_PRIORITY_IDLE = 0: Int

Mức độ ưu tiên thấp nhất cho luồng. Đã chuyển đến setPriority.

STREAM_PRIORITY_LOW

const val STREAM_PRIORITY_LOW = 2: Int

Mức độ ưu tiên thấp cho luồng. Đã chuyển đến setPriority.

STREAM_PRIORITY_LOWEST

const val STREAM_PRIORITY_LOWEST = 1: Int

Mức độ ưu tiên của luồng rất thấp. Đã chuyển đến setPriority.

STREAM_PRIORITY_MEDIUM

const val STREAM_PRIORITY_MEDIUM = 3: Int

Mức độ ưu tiên trung bình của luồng. Đã chuyển đến setPriority. Đây là mức độ ưu tiên mặc định được chỉ định cho luồng.

Hàm khởi tạo công khai

Trình tạo

Builder()

Hàm công khai

addHeader

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

Thêm tiêu đề của yêu cầu. Trả về trình tạo để tạo điều kiện cho việc liên kết.

Tham số
header: String!

tên tiêu đề

value: String!

giá trị tiêu đề

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết

addRequestAnnotation

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

Liên kết đối tượng chú thích với yêu cầu này. Bạn có thể thêm nhiều. Được truyền đến RequestFinishedInfo.Listener, hãy xem getAnnotations.

Tham số
annotation: Any!

một đối tượng để truyền đến RequestFinishedInfo.Listener bằng RequestFinishedInfo.

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết.

bindToNetwork

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

Liên kết yêu cầu với mã nhận dạng mạng đã chỉ định. Cronet sẽ chỉ gửi yêu cầu này bằng mạng được liên kết với mã nhận dạng này. Nếu mạng này ngắt kết nối, yêu cầu sẽ không thành công. Lỗi chính xác sẽ phụ thuộc vào giai đoạn xử lý yêu cầu khi mạng ngắt kết nối. Bạn có thể lấy các mã nhận dạng mạng thông qua Network#getNetworkHandle. Chỉ có từ Android Marshmallow trở lên.

Tham số
networkHandle: Long

xử lý mạng để liên kết yêu cầu. Chỉ định UNBIND_NETWORK_HANDLE để huỷ liên kết.

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết.

build

abstract fun build(): BidirectionalStream!

Tạo một BidirectionalStream bằng cấu hình từ Builder này. Sau đó, bạn có thể bắt đầu BidirectionalStream đã trả về bằng cách gọi start.

Giá trị trả về
BidirectionalStream!

được tạo BidirectionalStream bằng cấu hình từ Builder này

delayRequestHeadersUntilFirstFlush

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

Trì hoãn việc gửi tiêu đề yêu cầu cho đến khi flush được gọi. Cờ này hiện chỉ được tuân thủ khi QUIC được thương lượng. Khi đúng, QUIC sẽ gửi khung tiêu đề của yêu cầu cùng với(các) khung dữ liệu dưới dạng một gói duy nhất nếu có thể.

Tham số
delayRequestHeadersUntilFirstFlush: Boolean

nếu đúng, việc gửi tiêu đề yêu cầu sẽ bị trì hoãn cho đến khi flush() được gọi.

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết.

setHttpMethod

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

Đặt phương thức HTTP cho yêu cầu. Trả về trình tạo để tạo điều kiện cho việc liên kết.

Tham số
method: String!

phương thức dùng cho yêu cầu. Giá trị mặc định là "POST"

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết

setPriority

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

Đặt mức độ ưu tiên của luồng, phải là một trong các giá trị STREAM_PRIORITY_*. Luồng được ưu tiên STREAM_PRIORITY_MEDIUM nếu bạn không gọi phương thức này.

Tham số
priority: Int

mức độ ưu tiên của luồng, phải là một trong các giá trị STREAM_PRIORITY_*.

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết.

setTrafficStatsTag

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

Đặt thẻ android.net.TrafficStats để sử dụng khi tính lưu lượng truy cập socket do yêu cầu này gây ra. Hãy xem android.net.TrafficStats để biết thêm thông tin. Nếu không có thẻ nào được đặt (ví dụ: phương thức này không được gọi), thì Android sẽ tính lưu lượng truy cập ổ cắm do yêu cầu này gây ra như thể giá trị thẻ được đặt thành 0.

LƯU Ý: Việc đặt thẻ sẽ không cho phép chia sẻ các ổ cắm với các yêu cầu có thẻ khác, điều này có thể ảnh hưởng xấu đến hiệu suất bằng cách cấm chia sẻ kết nối. Nói cách khác, bạn chỉ được phép sử dụng các ổ cắm ghép kênh (ví dụ: HTTP/2 và QUIC) nếu tất cả các yêu cầu đều có cùng thẻ ổ cắm.

Tham số
tag: Int

giá trị thẻ được dùng khi tính lưu lượng truy cập ổ cắm do yêu cầu này gây ra. Các thẻ từ 0xFFFFFF00 đến 0xFFFFFFFF được dành riêng và dùng nội bộ bởi các dịch vụ hệ thống như android.app.DownloadManager khi thực hiện lưu lượng truy cập thay cho một ứng dụng.

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết.

setTrafficStatsUid

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

Đặt UID cụ thể để sử dụng khi tính lưu lượng truy cập ổ cắm do yêu cầu này gây ra. Vui lòng xem android.net.TrafficStats để biết thêm thông tin. Được thiết kế để sử dụng khi thực hiện một thao tác thay cho một ứng dụng khác. Người gọi phải có quyền MODIFY_NETWORK_ACCOUNTING. Theo mặc định, lưu lượng truy cập được phân bổ cho UID của người gọi.

LƯU Ý: Việc đặt UID sẽ không cho phép chia sẻ các ổ cắm với các yêu cầu có UID khác, điều này có thể ảnh hưởng xấu đến hiệu suất bằng cách cấm chia sẻ kết nối. Nói cách khác, bạn chỉ được phép sử dụng các socket ghép kênh (ví dụ: HTTP/2 và QUIC) nếu tất cả các yêu cầu đều có cùng một UID.

Tham số
uid: Int

UID để phân bổ lưu lượng truy cập socket do yêu cầu này gây ra.

Giá trị trả về
BidirectionalStream.Builder!

trình tạo để tạo điều kiện cho việc liên kết.