BidirectionalStream.Callback

public abstract class BidirectionalStream.Callback


Klasa wywołania zwrotnego używana do odbierania wywołań zwrotnych z BidirectionalStream.

Podsumowanie

Konstruktory publiczne

Metody publiczne

void

Wywoływana, jeśli strumień został anulowany za pomocą cancel.

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

Wywoływana, jeśli strumień uległ awarii z jakiegokolwiek powodu po wywołaniu start.

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

Wywoływana, gdy dane są odczytywane do bufora przekazanego do read().

abstract void

Wywoływana, gdy otrzymywane są początkowe nagłówki odpowiedzi.

void

Wywoływana, gdy przed zamknięciem strumienia otrzymywane są zwiastuny.

abstract void

Wywoływana, gdy strumień jest gotowy do odczytu i zapisu.

abstract void

Wywoływana, gdy nie ma danych do odczytu ani zapisu, a strumień jest zamykany zdalnie i lokalnie.

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

Wywoływana, gdy cały ByteBuffer przekazany do write() zostanie wysłany.

Konstruktory publiczne

Oddzwanianie

public Callback()

Metody publiczne

onCanceled

public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)

Wywoływana, jeśli strumień został anulowany za pomocą cancel. Po wywołaniu tej metody nie będą wywoływane żadne inne metody BidirectionalStream.Callback. Domyślna implementacja nie wykonuje żadnych działań.

Parametry
BidirectionalStream stream

strumień, który został anulowany

UrlResponseInfo info

informacje o odpowiedzi. Może mieć wartość null, jeśli nie otrzymano odpowiedzi.

onFailed

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

Wywoływana, jeśli strumień uległ awarii z jakiegokolwiek powodu po wywołaniu start. Kody błędów HTTP/2 są mapowane na kody getCronetInternalErrorCode. Po wywołaniu tej metody nie będą wywoływane żadne inne metody BidirectionalStream.Callback.

Parametry
BidirectionalStream stream

strumień, który uległ awarii

UrlResponseInfo info

informacje o odpowiedzi. Może mieć wartość null, jeśli nie otrzymano odpowiedzi.

CronetException error

informacje o awarii

onReadCompleted

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

Wywoływana, gdy dane są odczytywane do bufora przekazanego do read(). Może być wypełniona tylko część bufora. Aby kontynuować odczyt, wywołaj read(). Może być wywoływana po onResponseTrailersReceived(), jeśli przed otrzymaniem zwiastunów były oczekujące dane do odczytu.

Parametry
BidirectionalStream stream

strumień, w którym zakończył się odczyt

UrlResponseInfo info

informacje o odpowiedzi

ByteBuffer buffer

bufor, który został przekazany do read(), a teraz zawiera odebrane dane. Limit bufora nie jest zmieniany. Pozycja bufora jest ustawiona na koniec odebranych danych. Jeśli pozycja nie zostanie zaktualizowana, oznacza to, że strona zdalna zasygnalizowała, że nie będzie wysyłać więcej danych.

boolean endOfStream

jeśli ma wartość true, są to ostatnie dane do odczytu, strona zdalna nie będzie wysyłać więcej danych, a strona odczytu jest zamknięta.

onResponseHeadersReceived

public abstract void onResponseHeadersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info
)

Wywoływana, gdy otrzymywane są początkowe nagłówki odpowiedzi. Nagłówki są dostępne w info.getAllHeaders(). Konsument może wywołać read(), aby rozpocząć odczyt. Konsument może wywołać write(), aby rozpocząć zapis lub zamknąć strumień.

Parametry
BidirectionalStream stream

strumień, w którym otrzymano nagłówki odpowiedzi.

UrlResponseInfo info

informacje o odpowiedzi.

onResponseTrailersReceived

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

Wywoływana, gdy przed zamknięciem strumienia otrzymywane są zwiastuny. Wywoływana tylko wtedy, gdy serwer wysyła zwiastuny, co może nie być konieczne. Może być wywoływana, gdy w buforze lokalnym pozostają dane do odczytu. Domyślna implementacja nie wykonuje żadnych działań.

Parametry
BidirectionalStream stream

strumień, w którym otrzymano zwiastuny odpowiedzi

UrlResponseInfo info

informacje o odpowiedzi

UrlResponseInfo.HeaderBlock trailers

otrzymane zwiastuny

onStreamReady

public abstract void onStreamReady(BidirectionalStream stream)

Wywoływana, gdy strumień jest gotowy do odczytu i zapisu. Konsument może wywołać read(), aby rozpocząć odczyt danych. Konsument może wywołać write(), aby rozpocząć zapis danych.

Parametry
BidirectionalStream stream

strumień, który jest gotowy.

onSucceeded

public abstract void onSucceeded(BidirectionalStream stream, UrlResponseInfo info)

Wywoływana, gdy nie ma danych do odczytu ani zapisu, a strumień jest zamykany zdalnie i lokalnie. Po wywołaniu tej metody nie będą wywoływane żadne inne metody BidirectionalStream.Callback.

Parametry
BidirectionalStream stream

strumień, który został zamknięty

UrlResponseInfo info

informacje o odpowiedzi

onWriteCompleted

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

Wywoływana, gdy cały ByteBuffer przekazany do write() zostanie wysłany. Pozycja bufora jest aktualizowana tak, aby była taka sama jak limit bufora. Limit bufora nie jest zmieniany. Aby kontynuować zapis, wywołaj write().

Parametry
BidirectionalStream stream

strumień, w którym zakończył się zapis

UrlResponseInfo info

informacje o odpowiedzi

ByteBuffer buffer

bufor, który został przekazany do write(). Pozycja bufora jest ustawiona na limit bufora. Limit bufora nie jest zmieniany.

boolean endOfStream

flaga endOfStream, która została przekazana do odpowiedniego write(). Jeśli ma wartość true, strona zapisu jest zamknięta.