BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


Es la clase de devolución de llamada que se usa para recibir devoluciones de llamada de un BidirectionalStream.

Resumen

Constructores públicos

Funciones públicas

Unit

Se invoca si la transmisión se canceló a través de cancel.

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

Se invoca si la transmisión falla por algún motivo después de start.

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

Se invoca cuando se leen datos en el búfer que se pasa a read().

abstract Unit

Se invoca cuando se reciben los encabezados de respuesta iniciales.

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

Se invoca cuando se reciben avances antes de cerrar la transmisión.

abstract Unit

Se invoca cuando la transmisión está lista para leer y escribir.

abstract Unit

Se invoca cuando no hay datos para leer o escribir, y la transmisión se cierra correctamente de forma remota y local.

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

Se invoca cuando se envía todo el ByteBuffer que se pasa a write().

Constructores públicos

Devolución de llamada

Callback()

Funciones públicas

onCanceled

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

Se invoca si la transmisión se canceló a través de cancel. Una vez que se invoca, no se invocarán más métodos BidirectionalStream.Callback. La implementación predeterminada no realiza ninguna acción.

Parámetros
stream: BidirectionalStream!

es la transmisión que se canceló.

info: UrlResponseInfo!

es la información de la respuesta. Puede ser null si no se recibió ninguna respuesta.

onFailed

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

Se invoca si la transmisión falla por algún motivo después de start. Los códigos de error de HTTP/2 se asignan a códigos getCronetInternalErrorCode. Una vez que se invoca, no se invocarán más métodos BidirectionalStream.Callback.

Parámetros
stream: BidirectionalStream!

es la transmisión que falló.

info: UrlResponseInfo!

es la información de la respuesta. Puede ser null si no se recibió ninguna respuesta.

error: CronetException!

es la información sobre la falla.

onReadCompleted

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

Se invoca cuando se leen datos en el búfer que se pasa a read(). Es posible que solo se propague parte del búfer. Para seguir leyendo, llama a read(). Se puede invocar después de onResponseTrailersReceived(), si había datos de lectura pendientes antes de que se recibieran los avances.

Parámetros
stream: BidirectionalStream!

es la transmisión en la que se completó la lectura.

info: UrlResponseInfo!

es la información de la respuesta.

buffer: ByteBuffer!

es el búfer que se pasó a read(), que ahora contiene los datos recibidos. No se cambia el límite del búfer. La posición del búfer se establece al final de los datos recibidos. Si no se actualiza la posición, significa que el extremo remoto indicó que no enviará más datos.

endOfStream: Boolean

Si es verdadero, estos son los últimos datos leídos, el extremo remoto no enviará más datos y se cierra el lado de lectura.

onResponseHeadersReceived

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

Se invoca cuando se reciben los encabezados de respuesta iniciales. Los encabezados están disponibles en info.getAllHeaders(). El consumidor puede llamar a read() para comenzar a leer. El consumidor puede llamar a write() para comenzar a escribir o cerrar la transmisión.

Parámetros
stream: BidirectionalStream!

es la transmisión en la que se recibieron los encabezados de respuesta.

info: UrlResponseInfo!

es la información de la respuesta.

onResponseTrailersReceived

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

Se invoca cuando se reciben avances antes de cerrar la transmisión. Solo se invoca cuando el servidor envía avances, lo que es posible que no haga. Se puede invocar mientras queden datos de lectura en el búfer local. La implementación predeterminada no realiza ninguna acción.

Parámetros
stream: BidirectionalStream!

es la transmisión en la que se recibieron los avances de respuesta.

info: UrlResponseInfo!

es la información de la respuesta.

trailers: UrlResponseInfo.HeaderBlock!

son los avances recibidos.

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

Se invoca cuando la transmisión está lista para leer y escribir. El consumidor puede llamar a read() para comenzar a leer datos. El consumidor puede llamar a write() para comenzar a escribir datos.

Parámetros
stream: BidirectionalStream!

es la transmisión que está lista.

onSucceeded

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

Se invoca cuando no hay datos para leer o escribir, y la transmisión se cierra correctamente de forma remota y local. Una vez que se invoca, no se invocarán más métodos BidirectionalStream.Callback.

Parámetros
stream: BidirectionalStream!

es la transmisión que se cerró correctamente.

info: UrlResponseInfo!

es la información de la respuesta.

onWriteCompleted

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

Se invoca cuando se envía todo el ByteBuffer que se pasa a write(). La posición del búfer se actualiza para que sea la misma que el límite del búfer. No se cambia el límite del búfer. Para seguir escribiendo, llama a write().

Parámetros
stream: BidirectionalStream!

es la transmisión en la que se completó la escritura.

info: UrlResponseInfo!

es la información de la respuesta.

buffer: ByteBuffer!

es el búfer que se pasó a write(). La posición del búfer se establece en el límite del búfer. No se cambia el límite del búfer.

endOfStream: Boolean

es la marca endOfStream que se pasó al write() correspondiente. Si es verdadero, se cierra el lado de escritura.