BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


BidirectionalStream의 빌더입니다. 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에 전달되었습니다. 스트림에 부여된 기본 우선순위입니다.

공개 생성자

빌더

public Builder()

공개 메서드

addHeader

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

요청 헤더를 추가합니다. 연결을 용이하게 하기 위해 빌더를 반환합니다.

매개변수
String header

헤더 이름

String value

헤더 값

반환
BidirectionalStream.Builder

연결을 용이하게 하는 빌더

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

주석 객체를 이 요청과 연결합니다. 두 개 이상 추가할 수 있습니다. RequestFinishedInfo.Listener에 전달됩니다(getAnnotations 참고).

매개변수
Object annotation

RequestFinishedInfo이 있는 RequestFinishedInfo.Listener에 전달할 객체

반환
BidirectionalStream.Builder

빌더를 반환하여 연결을 용이하게 합니다.

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

요청을 지정된 네트워크 핸들에 바인딩합니다. Cronet은 이 핸들과 연결된 네트워크만 사용하여 이 요청을 전송합니다. 이 네트워크가 연결 해제되면 요청이 실패하며, 정확한 오류는 네트워크가 연결 해제될 때 요청 처리 단계에 따라 달라집니다. 네트워크 핸들은 Network#getNetworkHandle를 통해 가져올 수 있습니다. Android Marshmallow부터 사용할 수 있습니다.

매개변수
long networkHandle

요청을 바인딩할 네트워크 핸들입니다. UNBIND_NETWORK_HANDLE을 지정하여 바인딩을 해제합니다.

반환
BidirectionalStream.Builder

빌더를 반환하여 연결을 용이하게 합니다.

build

public abstract BidirectionalStream build()

Builder의 구성을 사용하여 BidirectionalStream를 만듭니다. 반환된 BidirectionalStreamstart를 호출하여 시작할 수 있습니다.

반환
BidirectionalStream

Builder의 구성을 사용하여 BidirectionalStream를 생성했습니다.

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

flush가 호출될 때까지 요청 헤더 전송을 지연합니다. 이 플래그는 현재 QUIC가 협상될 때만 적용됩니다. true인 경우 QUIC는 가능한 경우 데이터 프레임과 함께 요청 헤더 프레임을 단일 패킷으로 전송합니다.

매개변수
boolean delayRequestHeadersUntilFirstFlush

true인 경우 flush()가 호출될 때까지 요청 헤더 전송이 지연됩니다.

반환
BidirectionalStream.Builder

빌더를 반환하여 연결을 용이하게 합니다.

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

요청의 HTTP 메서드를 설정합니다. 연결을 용이하게 하기 위해 빌더를 반환합니다.

매개변수
String method

요청에 사용할 메서드입니다. 기본값은 'POST'입니다.

반환
BidirectionalStream.Builder

연결을 용이하게 하는 빌더

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

스트림의 우선순위를 설정합니다. 우선순위는 STREAM_PRIORITY_* 값 중 하나여야 합니다. 이 메서드가 호출되지 않으면 스트림에 STREAM_PRIORITY_MEDIUM 우선순위가 부여됩니다.

매개변수
int priority

스트림의 우선순위로, STREAM_PRIORITY_* 값 중 하나여야 합니다.

반환
BidirectionalStream.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

빌더를 반환하여 연결을 용이하게 합니다.

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

이 요청으로 인해 발생한 소켓 트래픽을 계산할 때 사용할 특정 UID를 설정합니다. 자세한 내용은 android.net.TrafficStats를 참고하세요. 다른 애플리케이션을 대신하여 작업을 실행할 때 사용하도록 설계되었습니다. 호출자에게는 MODIFY_NETWORK_ACCOUNTING 권한이 있어야 합니다. 기본적으로 트래픽은 호출자의 UID에 기여합니다.

참고: UID를 설정하면 다른 UID가 있는 요청과의 소켓 공유가 허용되지 않으므로 연결 공유가 금지되어 성능에 부정적인 영향을 미칠 수 있습니다. 즉, 모든 요청에 동일한 UID가 설정된 경우에만 다중화된 소켓 (예: HTTP/2 및 QUIC)을 사용할 수 있습니다.

매개변수
int uid

이 요청으로 인해 발생한 소켓 트래픽을 귀속시킬 UID입니다.

반환
BidirectionalStream.Builder

빌더를 반환하여 연결을 용이하게 합니다.