BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


Classe de callback usada para receber callbacks de um BidirectionalStream.

Resumo

Construtores públicos

Funções públicas

Unit

Invocado se o stream foi cancelado por cancel.

abstract Unit
onFailed(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    error: CronetException!
)

Invocado se o stream falhou por qualquer motivo após start.

abstract Unit
onReadCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
)

Invocado quando os dados são lidos no buffer transmitido para read().

abstract Unit

Invocado quando os cabeçalhos de resposta iniciais são recebidos.

Unit
onResponseTrailersReceived(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    trailers: UrlResponseInfo.HeaderBlock!
)

Invocado quando os trailers são recebidos antes de fechar o stream.

abstract Unit

Invocado quando o stream está pronto para leitura e gravação.

abstract Unit

Invocado quando não há dados a serem lidos ou gravados e o stream é fechado com sucesso remotamente e localmente.

abstract Unit
onWriteCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
)

Invocado quando todo o ByteBuffer transmitido para write() é enviado.

Construtores públicos

Callback

Callback()

Funções públicas

onCanceled

fun onCanceled(stream: BidirectionalStream!, info: UrlResponseInfo!): Unit

Invocado se o stream foi cancelado por cancel. Depois de invocado, nenhum outro método BidirectionalStream.Callback será invocado. A implementação padrão não realiza nenhuma ação.

Parâmetros
stream: BidirectionalStream!

o stream que foi cancelado

info: UrlResponseInfo!

as informações de resposta. Pode ser null se nenhuma resposta foi recebida.

onFailed

abstract fun onFailed(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    error: CronetException!
): Unit

Invocado se o stream falhou por qualquer motivo após start. Os códigos de erro HTTP/2 são mapeados para códigos getCronetInternalErrorCode. Depois de invocado, nenhum outro método BidirectionalStream.Callback será invocado.

Parâmetros
stream: BidirectionalStream!

o stream que falhou

info: UrlResponseInfo!

as informações de resposta. Pode ser null se nenhuma resposta foi recebida.

error: CronetException!

informações sobre a falha

onReadCompleted

abstract fun onReadCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
): Unit

Invocado quando os dados são lidos no buffer transmitido para read(). Apenas parte do buffer pode ser preenchida. Para continuar a leitura, chame read(). Ele pode ser invocado após onResponseTrailersReceived(), se houver dados de leitura pendentes antes do recebimento dos trailers.

Parâmetros
stream: BidirectionalStream!

o stream em que a leitura foi concluída

info: UrlResponseInfo!

as informações de resposta

buffer: ByteBuffer!

o buffer que foi transmitido para read(), agora contendo os dados recebidos. O limite do buffer não é alterado. A posição do buffer é definida como o final dos dados recebidos. Se a posição não for atualizada, isso significa que o lado remoto sinalizou que não enviará mais dados.

endOfStream: Boolean

se for verdadeiro, esses são os últimos dados lidos, o lado remoto não enviará mais dados e o lado de leitura será fechado.

onResponseHeadersReceived

abstract fun onResponseHeadersReceived(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!
): Unit

Invocado quando os cabeçalhos de resposta iniciais são recebidos. Os cabeçalhos estão disponíveis em info.getAllHeaders(). O consumidor pode chamar read() para iniciar a leitura. O consumidor pode chamar write() para iniciar a gravação ou fechar o stream.

Parâmetros
stream: BidirectionalStream!

o stream em que os cabeçalhos de resposta foram recebidos.

info: UrlResponseInfo!

as informações de resposta.

onResponseTrailersReceived

fun onResponseTrailersReceived(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    trailers: UrlResponseInfo.HeaderBlock!
): Unit

Invocado quando os trailers são recebidos antes de fechar o stream. Só é invocado quando o servidor envia trailers, o que pode não acontecer. Pode ser invocado enquanto houver dados de leitura restantes no buffer local. A implementação padrão não realiza nenhuma ação.

Parâmetros
stream: BidirectionalStream!

o stream em que os trailers de resposta foram recebidos

info: UrlResponseInfo!

as informações de resposta

trailers: UrlResponseInfo.HeaderBlock!

os trailers recebidos

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

Invocado quando o stream está pronto para leitura e gravação. O consumidor pode chamar read() para iniciar a leitura de dados. O consumidor pode chamar write() para iniciar a gravação de dados.

Parâmetros
stream: BidirectionalStream!

o stream que está pronto.

onSucceeded

abstract fun onSucceeded(stream: BidirectionalStream!, info: UrlResponseInfo!): Unit

Invocado quando não há dados a serem lidos ou gravados e o stream é fechado com sucesso remotamente e localmente. Depois de invocado, nenhum outro método BidirectionalStream.Callback será invocado.

Parâmetros
stream: BidirectionalStream!

o stream que foi fechado com sucesso

info: UrlResponseInfo!

as informações de resposta

onWriteCompleted

abstract fun onWriteCompleted(
    stream: BidirectionalStream!,
    info: UrlResponseInfo!,
    buffer: ByteBuffer!,
    endOfStream: Boolean
): Unit

Invocado quando todo o ByteBuffer transmitido para write() é enviado. A posição do buffer é atualizada para ser igual ao limite do buffer. O limite do buffer não é alterado. Para continuar a gravação, chame write().

Parâmetros
stream: BidirectionalStream!

o stream em que a gravação foi concluída

info: UrlResponseInfo!

as informações de resposta

buffer: ByteBuffer!

o buffer que foi transmitido para write(). A posição do buffer é definida como o limite do buffer. O limite do buffer não é alterado.

endOfStream: Boolean

a flag endOfStream que foi transmitida para o write() correspondente. Se for verdadeiro, o lado de gravação será fechado.