BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


Classe di callback utilizzata per ricevere callback da un BidirectionalStream.

Riepilogo

Costruttori pubblici

Funzioni pubbliche

Unit

Richiamata se lo stream è stato annullato tramite cancel.

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

Richiamata se lo stream non è riuscito per qualsiasi motivo dopo start.

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

Richiamata quando i dati vengono letti nel buffer passato a read().

abstract Unit

Richiamata quando vengono ricevute le intestazioni della risposta iniziale.

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

Richiamata quando vengono ricevuti i trailer prima della chiusura dello stream.

abstract Unit

Richiamata quando lo stream è pronto per la lettura e la scrittura.

abstract Unit

Richiamata quando non ci sono dati da leggere o scrivere e lo stream viene chiuso correttamente in remoto e localmente.

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

Richiamata quando viene inviato l'intero ByteBuffer passato a write().

Costruttori pubblici

Callback

Callback()

Funzioni pubbliche

onCanceled

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

Richiamata se lo stream è stato annullato tramite cancel. Una volta richiamata, non verranno richiamati altri metodi BidirectionalStream.Callback. L'implementazione predefinita non esegue alcuna azione.

Parametri
stream: BidirectionalStream!

lo stream che è stato annullato

info: UrlResponseInfo!

le informazioni sulla risposta. Può essere null se non è stata ricevuta alcuna risposta.

onFailed

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

Richiamata se lo stream non è riuscito per qualsiasi motivo dopo start. I codici di errore HTTP/2 vengono mappati sui codici getCronetInternalErrorCode. Una volta richiamata, non verranno richiamati altri metodi BidirectionalStream.Callback.

Parametri
stream: BidirectionalStream!

lo stream che non è riuscito

info: UrlResponseInfo!

le informazioni sulla risposta. Può essere null se non è stata ricevuta alcuna risposta.

error: CronetException!

informazioni sull'errore

onReadCompleted

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

Richiamata quando i dati vengono letti nel buffer passato a read(). Potrebbe essere compilata solo una parte del buffer. Per continuare a leggere, chiama read(). Può essere richiamata dopo onResponseTrailersReceived(), se erano presenti dati di lettura in attesa prima della ricezione dei trailer.

Parametri
stream: BidirectionalStream!

lo stream su cui è stata completata la lettura

info: UrlResponseInfo!

le informazioni sulla risposta

buffer: ByteBuffer!

il buffer passato a read(), ora contenente i dati ricevuti. Il limite del buffer non viene modificato. La posizione del buffer è impostata alla fine dei dati ricevuti. Se la posizione non viene aggiornata, significa che il lato remoto ha segnalato che non invierà altri dati.

endOfStream: Boolean

se true, si tratta degli ultimi dati letti, il lato remoto non invierà altri dati e il lato di lettura è chiuso.

onResponseHeadersReceived

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

Richiamata quando vengono ricevute le intestazioni della risposta iniziale. Le intestazioni sono disponibili da info.getAllHeaders(). Il consumer può chiamare read() per iniziare la lettura. Il consumer può chiamare write() per iniziare la scrittura o chiudere lo stream.

Parametri
stream: BidirectionalStream!

lo stream su cui sono state ricevute le intestazioni della risposta.

info: UrlResponseInfo!

le informazioni sulla risposta.

onResponseTrailersReceived

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

Richiamata quando vengono ricevuti i trailer prima della chiusura dello stream. Viene richiamata solo quando il server invia i trailer, cosa che potrebbe non fare. Può essere richiamata mentre sono presenti dati di lettura rimanenti nel buffer locale. L'implementazione predefinita non esegue alcuna azione.

Parametri
stream: BidirectionalStream!

lo stream su cui sono stati ricevuti i trailer della risposta

info: UrlResponseInfo!

le informazioni sulla risposta

trailers: UrlResponseInfo.HeaderBlock!

i trailer ricevuti

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

Richiamata quando lo stream è pronto per la lettura e la scrittura. Il consumer può chiamare read() per iniziare a leggere i dati. Il consumer può chiamare write() per iniziare a scrivere i dati.

Parametri
stream: BidirectionalStream!

lo stream che è pronto.

onSucceeded

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

Richiamata quando non ci sono dati da leggere o scrivere e lo stream viene chiuso correttamente in remoto e localmente. Una volta richiamata, non verranno richiamati altri metodi BidirectionalStream.Callback.

Parametri
stream: BidirectionalStream!

lo stream che è stato chiuso correttamente

info: UrlResponseInfo!

le informazioni sulla risposta

onWriteCompleted

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

Richiamata quando viene inviato l'intero ByteBuffer passato a write(). La posizione del buffer viene aggiornata in modo che sia uguale al limite del buffer. Il limite del buffer non viene modificato. Per continuare a scrivere, chiama write().

Parametri
stream: BidirectionalStream!

lo stream su cui è stata completata la scrittura

info: UrlResponseInfo!

le informazioni sulla risposta

buffer: ByteBuffer!

il buffer passato a write(). La posizione del buffer è impostata sul limite del buffer. Il limite del buffer non viene modificato.

endOfStream: Boolean

il flag endOfStream passato al corrispondente write(). Se true, il lato di scrittura è chiuso.