BidirectionalStream.Callback

public abstract class BidirectionalStream.Callback


Classe de callback usada para receber callbacks de um BidirectionalStream.

Resumo

Construtores públicos

Métodos públicos

void

Invocado se o stream foi cancelado usando cancel.

abstract void
onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

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

abstract void
onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

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

abstract void

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

void

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

abstract void

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

abstract void

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

abstract void
onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

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

Construtores públicos

Callback

public Callback()

Métodos públicos

onCanceled

public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)

Invocado se o stream foi cancelado usando 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
BidirectionalStream stream

o stream que foi cancelado

UrlResponseInfo info

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

onFailed

public abstract void onFailed(
    BidirectionalStream stream,
    UrlResponseInfo info,
    CronetException error
)

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
BidirectionalStream stream

o stream que falhou

UrlResponseInfo info

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

CronetException error

informações sobre a falha

onReadCompleted

public abstract void onReadCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

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
BidirectionalStream stream

o stream em que a leitura foi concluída

UrlResponseInfo info

as informações de resposta

ByteBuffer buffer

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, significa que o lado remoto sinalizou que não enviará mais dados.

boolean endOfStream

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

public abstract void onResponseHeadersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info
)

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
BidirectionalStream stream

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

UrlResponseInfo info

as informações de resposta.

onResponseTrailersReceived

public void onResponseTrailersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info,
    UrlResponseInfo.HeaderBlock trailers
)

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
BidirectionalStream stream

o stream em que os trailers de resposta foram recebidos

UrlResponseInfo info

as informações de resposta

UrlResponseInfo.HeaderBlock trailers

os trailers recebidos

onStreamReady

public abstract void onStreamReady(BidirectionalStream stream)

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
BidirectionalStream stream

o stream que está pronto.

onSucceeded

public abstract void onSucceeded(BidirectionalStream stream, UrlResponseInfo info)

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
BidirectionalStream stream

o stream que foi fechado com sucesso

UrlResponseInfo info

as informações de resposta

onWriteCompleted

public abstract void onWriteCompleted(
    BidirectionalStream stream,
    UrlResponseInfo info,
    ByteBuffer buffer,
    boolean endOfStream
)

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
BidirectionalStream stream

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

UrlResponseInfo info

as informações de resposta

ByteBuffer buffer

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.

boolean endOfStream

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