BidirectionalStream.Builder

public 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ố

static final int

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

static final int

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

static final int

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

static final int

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

static final int

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

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

Phương thức công khai

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

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

BidirectionalStream.Builder

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

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

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(
    boolean delayRequestHeadersUntilFirstFlush
)

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(int priority)

Đặ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

public static final int STREAM_PRIORITY_HIGHEST = 4

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

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

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

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

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

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

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

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

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

public Builder()

Phương thức công khai

addHeader

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

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ố
String header

tên tiêu đề

String value

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

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

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ố
Object annotation

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

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

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ố
long networkHandle

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

public abstract BidirectionalStream build()

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

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

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ố
boolean delayRequestHeadersUntilFirstFlush

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

public abstract BidirectionalStream.Builder setHttpMethod(String method)

Đặ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ố
String method

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

public abstract BidirectionalStream.Builder setPriority(int priority)

Đặ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ố
int priority

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

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

Đặ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ố
int tag

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

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

Đặ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ố
int uid

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.