BidirectionalStream.Builder

abstract class BidirectionalStream.Builder


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

Resumo

Constantes

const Int

Prioridade mais alta do stream.

const Int

A menor prioridade de stream.

const Int

Baixa prioridade de stream.

const Int

Prioridade de stream muito baixa.

const Int

Prioridade média de stream.

Construtores públicos

Funções públicas

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

Adiciona um cabeçalho da solicitação.

BidirectionalStream.Builder!
addRequestAnnotation(annotation: Any!)

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

BidirectionalStream.Builder!
bindToNetwork(networkHandle: Long)

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

abstract BidirectionalStream!

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

abstract BidirectionalStream.Builder!
delayRequestHeadersUntilFirstFlush(
    delayRequestHeadersUntilFirstFlush: Boolean
)

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(priority: Int)

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

const val STREAM_PRIORITY_HIGHEST = 4: Int

Prioridade mais alta do stream. Transmitido para setPriority.

STREAM_PRIORITY_IDLE

const val STREAM_PRIORITY_IDLE = 0: Int

A menor prioridade de stream. Transmitido para setPriority.

STREAM_PRIORITY_LOW

const val STREAM_PRIORITY_LOW = 2: Int

Baixa prioridade de stream. Transmitido para setPriority.

STREAM_PRIORITY_LOWEST

const val STREAM_PRIORITY_LOWEST = 1: Int

Prioridade de stream muito baixa. Transmitido para setPriority.

STREAM_PRIORITY_MEDIUM

const val STREAM_PRIORITY_MEDIUM = 3: Int

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

Construtores públicos

Builder

Builder()

Funções públicas

addHeader

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

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

Parâmetros
header: String!

o nome do cabeçalho

value: String!

o valor do cabeçalho

Retorna
BidirectionalStream.Builder!

o builder para facilitar o encadeamento

addRequestAnnotation

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

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
annotation: Any!

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

Retorna
BidirectionalStream.Builder!

o builder para facilitar o encadeamento.

bindToNetwork

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

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

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

abstract fun build(): BidirectionalStream!

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

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

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

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

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

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

Parâmetros
method: String!

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

Retorna
BidirectionalStream.Builder!

o builder para facilitar o encadeamento

setPriority

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

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

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

Retorna
BidirectionalStream.Builder!

o builder para facilitar o encadeamento.

setTrafficStatsTag

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

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

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

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

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

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

Retorna
BidirectionalStream.Builder!

o builder para facilitar o encadeamento.