BidirectionalStream.Builder

public abstract class BidirectionalStream.Builder


Builder para BidirectionalStreams. Permite configurar o fluxo antes de construí-lo usando build. Criado por newBidirectionalStreamBuilder.

Resumo

Constantes

static final int

Prioridade mais alta do stream.

static final int

A menor prioridade de stream.

static final int

Baixa prioridade de stream.

static final int

Prioridade de stream muito baixa.

static final int

Prioridade média de stream.

Construtores públicos

Métodos públicos

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

Adiciona um cabeçalho da solicitação.

BidirectionalStream.Builder

Associa o objeto de anotação a esta solicitação.

BidirectionalStream.Builder
bindToNetwork(long networkHandle)

Vincula a solicitação ao identificador de rede especificado.

abstract BidirectionalStream

Cria um BidirectionalStream usando a configuração deste Builder.

abstract BidirectionalStream.Builder
delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

Atrasa o envio de cabeçalhos de solicitação até que flush seja chamado.

abstract BidirectionalStream.Builder

Define o método HTTP da solicitação.

abstract BidirectionalStream.Builder
setPriority(int priority)

Define a prioridade do fluxo, que precisa ser um dos valores STREAM_PRIORITY_*.

BidirectionalStream.Builder

Define a tag android.net.TrafficStats a ser usada ao contabilizar o tráfego de soquete causado por esta solicitação.

BidirectionalStream.Builder

Define um UID específico para usar ao contabilizar o tráfego de soquete causado por esta solicitação.

Constantes

STREAM_PRIORITY_HIGHEST

public static final int STREAM_PRIORITY_HIGHEST = 4

Prioridade mais alta do stream. Transmitido para setPriority.

STREAM_PRIORITY_IDLE

public static final int STREAM_PRIORITY_IDLE = 0

A menor prioridade de stream. Transmitido para setPriority.

STREAM_PRIORITY_LOW

public static final int STREAM_PRIORITY_LOW = 2

Baixa prioridade de stream. Transmitido para setPriority.

STREAM_PRIORITY_LOWEST

public static final int STREAM_PRIORITY_LOWEST = 1

Prioridade de stream muito baixa. Transmitido para setPriority.

STREAM_PRIORITY_MEDIUM

public static final int STREAM_PRIORITY_MEDIUM = 3

Prioridade média de stream. Transmitido para setPriority. Essa é a prioridade padrão atribuída ao fluxo.

Construtores públicos

Builder

public Builder()

Métodos públicos

addHeader

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

Adiciona um cabeçalho da solicitação. Retorna o criador para facilitar o encadeamento.

Parâmetros
String header

o nome do cabeçalho

String value

o valor do cabeçalho

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento

addRequestAnnotation

public BidirectionalStream.Builder addRequestAnnotation(Object annotation)

Associa o objeto de anotação a esta solicitação. É possível adicionar mais de um. Transmitido para um RequestFinishedInfo.Listener, consulte getAnnotations.

Parâmetros
Object annotation

um objeto a ser transmitido para o RequestFinishedInfo.Listener com um RequestFinishedInfo.

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento.

bindToNetwork

public BidirectionalStream.Builder bindToNetwork(long networkHandle)

Vincula a solicitação ao identificador de rede especificado. A Cronet vai enviar essa solicitação apenas usando a rede associada a esse identificador. Se essa rede for desconectada, a solicitação vai falhar. O erro exato vai depender da etapa de processamento da solicitação quando a rede for desconectada. Os identificadores de rede podem ser obtidos usando Network#getNetworkHandle. Disponível apenas a partir do Android Marshmallow.

Parâmetros
long networkHandle

o identificador de rede para vincular a solicitação. Especifique UNBIND_NETWORK_HANDLE para desvincular.

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento.

build

public abstract BidirectionalStream build()

Cria um BidirectionalStream usando a configuração deste Builder. O BidirectionalStream retornado pode ser iniciado chamando start.

Retorna
BidirectionalStream

construiu BidirectionalStream usando a configuração deste Builder

delayRequestHeadersUntilFirstFlush

public abstract BidirectionalStream.Builder delayRequestHeadersUntilFirstFlush(
    boolean delayRequestHeadersUntilFirstFlush
)

Atrasa o envio de cabeçalhos de solicitação até que flush seja chamado. No momento, essa flag só é respeitada quando o QUIC é negociado. Quando verdadeiro, o QUIC envia o frame de cabeçalho da solicitação junto com os frames de dados como um único pacote, quando possível.

Parâmetros
boolean delayRequestHeadersUntilFirstFlush

Se for "true", o envio de cabeçalhos de solicitação será adiado até que flush() seja chamado.

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento.

setHttpMethod

public abstract BidirectionalStream.Builder setHttpMethod(String method)

Define o método HTTP da solicitação. Retorna o criador para facilitar o encadeamento.

Parâmetros
String method

o método a ser usado para a solicitação. O padrão é "POST".

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento

setPriority

public abstract BidirectionalStream.Builder setPriority(int priority)

Define a prioridade do fluxo, que precisa ser um dos valores STREAM_PRIORITY_*. O stream recebe a prioridade STREAM_PRIORITY_MEDIUM se esse método não for chamado.

Parâmetros
int priority

prioridade do fluxo, que precisa ser um dos valores STREAM_PRIORITY_*.

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento.

setTrafficStatsTag

public BidirectionalStream.Builder setTrafficStatsTag(int tag)

Define a tag android.net.TrafficStats a ser usada ao contabilizar o tráfego de soquete causado por esta solicitação. Consulte os android.net.TrafficStats para mais informações. Se nenhuma tag for definida (por exemplo, se esse método não for chamado), o Android vai considerar o tráfego de soquete causado por essa solicitação como se o valor da tag fosse definido como 0.

OBSERVAÇÃO:definir uma tag impede o compartilhamento de sockets com solicitações de outras tags, o que pode afetar negativamente o desempenho ao proibir o compartilhamento de conexões. Em outras palavras, o uso de sockets multiplexados (por exemplo, HTTP/2 e QUIC) só será permitido se todas as solicitações tiverem a mesma tag de socket.

Parâmetros
int tag

o valor da tag usado ao contabilizar o tráfego de soquete causado por esta solicitação. Tags entre 0xFFFFFF00 e 0xFFFFFFFF são reservadas e usadas internamente por serviços do sistema, como android.app.DownloadManager, ao realizar tráfego em nome de um aplicativo.

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento.

setTrafficStatsUid

public BidirectionalStream.Builder setTrafficStatsUid(int uid)

Define um UID específico para usar ao contabilizar o tráfego de soquete causado por esta solicitação. Consulte android.net.TrafficStats para mais informações. Projetado para uso ao realizar uma operação em nome de outro aplicativo. O autor da chamada precisa ter a permissão MODIFY_NETWORK_ACCOUNTING. Por padrão, o tráfego é atribuído ao UID do caller.

OBSERVAÇÃO:definir um UID impede o compartilhamento de sockets com solicitações de outros UIDs, o que pode afetar negativamente o desempenho ao proibir o compartilhamento de conexões. Em outras palavras, o uso de sockets multiplexados (por exemplo, HTTP/2 e QUIC) só será permitido se todas as solicitações tiverem o mesmo UID definido.

Parâmetros
int uid

o UID para atribuir o tráfego de soquete causado por essa solicitação.

Retorna
BidirectionalStream.Builder

o builder para facilitar o encadeamento.