BidirectionalStream.Callback

abstract class BidirectionalStream.Callback


Classe de rappel utilisée pour recevoir des rappels d'un BidirectionalStream.

Résumé

Constructeurs publics

Fonctions publiques

Unit

Appelée si le flux a été annulé via cancel.

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

Appelée si le flux a échoué pour une raison quelconque après start.

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

Appelée lorsque des données sont lues dans le tampon transmis à read().

abstract Unit

Appelée lorsque les en-têtes de réponse initiaux sont reçus.

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

Appelée lorsque des bandes-annonces sont reçues avant la fermeture du flux.

abstract Unit

Appelée lorsque le flux est prêt pour la lecture et l'écriture.

abstract Unit

Appelée lorsqu'aucune donnée ne doit être lue ou écrite et que le flux est fermé à distance et localement.

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

Appelée lorsque l'intégralité du ByteBuffer transmis à write() est envoyée.

Constructeurs publics

Rappel

Callback()

Fonctions publiques

onCanceled

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

Appelée si le flux a été annulé via cancel. Une fois appelée, aucune autre méthode BidirectionalStream.Callback ne sera appelée. L'implémentation par défaut n'effectue aucune action.

Paramètres
stream: BidirectionalStream!

flux qui a été annulé

info: UrlResponseInfo!

informations sur la réponse. Peut être null si aucune réponse n'a été reçue.

onFailed

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

Appelée si le flux a échoué pour une raison quelconque après start. Les codes d'erreur HTTP/2 sont mappés aux codes getCronetInternalErrorCode. Une fois appelée, aucune autre méthode BidirectionalStream.Callback ne sera appelée.

Paramètres
stream: BidirectionalStream!

flux qui a échoué

info: UrlResponseInfo!

informations sur la réponse. Peut être null si aucune réponse n'a été reçue.

error: CronetException!

informations sur l'échec

onReadCompleted

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

Appelée lorsque des données sont lues dans le tampon transmis à read(). Seule une partie du tampon peut être remplie. Pour continuer la lecture, appelez read(). Elle peut être appelée après onResponseTrailersReceived() si des données de lecture étaient en attente avant la réception des bandes-annonces.

Paramètres
stream: BidirectionalStream!

flux sur lequel la lecture est terminée

info: UrlResponseInfo!

informations sur la réponse

buffer: ByteBuffer!

tampon transmis à read(), contenant désormais les données reçues. La limite du tampon n'est pas modifiée. La position du tampon est définie à la fin des données reçues. Si la position n'est pas mise à jour, cela signifie que le côté distant a signalé qu'il n'enverrait plus de données.

endOfStream: Boolean

si la valeur est "true", il s'agit des dernières données lues, le côté distant n'enverra plus de données et le côté lecture est fermé.

onResponseHeadersReceived

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

Appelée lorsque les en-têtes de réponse initiaux sont reçus. Les en-têtes sont disponibles à partir de info.getAllHeaders(). Le consommateur peut appeler read() pour commencer la lecture. Le consommateur peut appeler write() pour commencer l'écriture ou fermer le flux.

Paramètres
stream: BidirectionalStream!

flux sur lequel les en-têtes de réponse ont été reçus.

info: UrlResponseInfo!

informations sur la réponse.

onResponseTrailersReceived

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

Appelée lorsque des bandes-annonces sont reçues avant la fermeture du flux. Appelée uniquement lorsque le serveur envoie des bandes-annonces, ce qui n'est pas toujours le cas. Peut être appelée lorsqu'il reste des données de lecture dans le tampon local. L'implémentation par défaut n'effectue aucune action.

Paramètres
stream: BidirectionalStream!

flux sur lequel les bandes-annonces de réponse ont été reçues

info: UrlResponseInfo!

informations sur la réponse

trailers: UrlResponseInfo.HeaderBlock!

bandes-annonces reçues

onStreamReady

abstract fun onStreamReady(stream: BidirectionalStream!): Unit

Appelée lorsque le flux est prêt pour la lecture et l'écriture. Le consommateur peut appeler read() pour commencer la lecture des données. Le consommateur peut appeler write() pour commencer l'écriture des données.

Paramètres
stream: BidirectionalStream!

flux qui est prêt.

onSucceeded

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

Appelée lorsqu'aucune donnée ne doit être lue ou écrite et que le flux est fermé à distance et localement. Une fois appelée, aucune autre méthode BidirectionalStream.Callback ne sera appelée.

Paramètres
stream: BidirectionalStream!

flux qui est fermé

info: UrlResponseInfo!

informations sur la réponse

onWriteCompleted

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

Appelée lorsque l'intégralité du ByteBuffer transmis à write() est envoyée. La position du tampon est mise à jour pour être identique à la limite du tampon. La limite du tampon n'est pas modifiée. Pour continuer l'écriture, appelez write().

Paramètres
stream: BidirectionalStream!

flux sur lequel l'écriture est terminée

info: UrlResponseInfo!

informations sur la réponse

buffer: ByteBuffer!

tampon transmis à write(). La position du tampon est définie sur la limite du tampon. La limite du tampon n'est pas modifiée.

endOfStream: Boolean

indicateur endOfStream transmis au write() correspondant. Si la valeur est "true", le côté écriture est fermé.