BidirectionalStream.Callback

public abstract class BidirectionalStream.Callback


Callback-Klasse zum Empfangen von Callbacks von einem BidirectionalStream.

Zusammenfassung

Public Constructors

Public Methods

void

Wird aufgerufen, wenn der Stream über cancel abgebrochen wurde.

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

Wird aufgerufen, wenn der Stream nach start aus irgendeinem Grund fehlgeschlagen ist.

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

Wird aufgerufen, wenn Daten in den Puffer gelesen werden, der an read() übergeben wurde.

abstract void

Wird aufgerufen, wenn die ersten Antwortheader empfangen werden.

void

Wird aufgerufen, wenn Trailer vor dem Schließen des Streams empfangen werden.

abstract void

Wird aufgerufen, wenn der Stream zum Lesen und Schreiben bereit ist.

abstract void

Wird aufgerufen, wenn keine Daten gelesen oder geschrieben werden müssen und der Stream remote und lokal erfolgreich geschlossen wurde.

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

Wird aufgerufen, wenn der gesamte an write() übergebene ByteBuffer gesendet wurde.

Public Constructors

Callback

public Callback()

Public Methods

onCanceled

public void onCanceled(BidirectionalStream stream, UrlResponseInfo info)

Wird aufgerufen, wenn der Stream über cancel abgebrochen wurde. Nach dem Aufruf werden keine weiteren BidirectionalStream.Callback-Methoden aufgerufen. Die Standardimplementierung führt keine Aktion aus.

Parameter
BidirectionalStream stream

Der Stream, der abgebrochen wurde

UrlResponseInfo info

Die Antwortinformationen Kann null sein, wenn keine Antwort empfangen wurde.

onFailed

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

Wird aufgerufen, wenn der Stream nach start aus irgendeinem Grund fehlgeschlagen ist. HTTP/2-Fehlercodes werden getCronetInternalErrorCode Codes zugeordnet. Nach dem Aufruf werden keine weiteren BidirectionalStream.Callback-Methoden aufgerufen.

Parameter
BidirectionalStream stream

Der Stream, der fehlgeschlagen ist

UrlResponseInfo info

Die Antwortinformationen Kann null sein, wenn keine Antwort empfangen wurde.

CronetException error

Informationen zum Fehler

onReadCompleted

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

Wird aufgerufen, wenn Daten in den Puffer gelesen werden, der an read() übergeben wurde. Möglicherweise wird nur ein Teil des Puffers gefüllt. Rufen Sie read() auf, um weiterzulesen. Der Aufruf kann nach onResponseTrailersReceived() erfolgen, wenn vor dem Empfang von Trailern noch Daten zum Lesen vorhanden waren.

Parameter
BidirectionalStream stream

Der Stream, bei dem das Lesen abgeschlossen wurde

UrlResponseInfo info

Die Antwortinformationen

ByteBuffer buffer

Der Puffer, der an read() übergeben wurde und jetzt die empfangenen Daten enthält. Das Limit des Puffers wird nicht geändert. Die Position des Puffers wird auf das Ende der empfangenen Daten gesetzt. Wenn die Position nicht aktualisiert wird, bedeutet das, dass die Remote-Seite signalisiert hat, dass keine weiteren Daten gesendet werden.

boolean endOfStream

Wenn „true“, sind dies die letzten gelesenen Daten, die Remote-Seite sendet keine weiteren Daten und die Leseseite wird geschlossen.

onResponseHeadersReceived

public abstract void onResponseHeadersReceived(
    BidirectionalStream stream,
    UrlResponseInfo info
)

Wird aufgerufen, wenn die ersten Antwortheader empfangen werden. Header sind über info.getAllHeaders() verfügbar. Der Consumer kann read() aufrufen, um mit dem Lesen zu beginnen. Der Consumer kann write() aufrufen, um mit dem Schreiben zu beginnen oder den Stream zu schließen.

Parameter
BidirectionalStream stream

Der Stream, bei dem Antwortheader empfangen wurden

UrlResponseInfo info

Die Antwortinformationen

onResponseTrailersReceived

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

Wird aufgerufen, wenn Trailer vor dem Schließen des Streams empfangen werden. Wird nur aufgerufen, wenn der Server Trailer sendet, was nicht immer der Fall ist. Kann aufgerufen werden, während sich noch Daten zum Lesen im lokalen Puffer befinden. Die Standardimplementierung führt keine Aktion aus.

Parameter
BidirectionalStream stream

Der Stream, bei dem Antworttrailer empfangen wurden

UrlResponseInfo info

Die Antwortinformationen

UrlResponseInfo.HeaderBlock trailers

Die empfangenen Trailer

onStreamReady

public abstract void onStreamReady(BidirectionalStream stream)

Wird aufgerufen, wenn der Stream zum Lesen und Schreiben bereit ist. Der Consumer kann read() aufrufen, um mit dem Lesen von Daten zu beginnen. Der Consumer kann write() aufrufen, um mit dem Schreiben von Daten zu beginnen.

Parameter
BidirectionalStream stream

Der Stream, der bereit ist

onSucceeded

public abstract void onSucceeded(BidirectionalStream stream, UrlResponseInfo info)

Wird aufgerufen, wenn keine Daten gelesen oder geschrieben werden müssen und der Stream remote und lokal erfolgreich geschlossen wurde. Nach dem Aufruf werden keine weiteren BidirectionalStream.Callback-Methoden aufgerufen.

Parameter
BidirectionalStream stream

Der Stream, der erfolgreich geschlossen wurde

UrlResponseInfo info

Die Antwortinformationen

onWriteCompleted

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

Wird aufgerufen, wenn der gesamte an write() übergebene ByteBuffer gesendet wurde. Die Position des Puffers wird so aktualisiert, dass sie mit dem Limit des Puffers übereinstimmt. Das Limit des Puffers wird nicht geändert. Rufen Sie write() auf, um weiterzuschreiben.

Parameter
BidirectionalStream stream

Der Stream, bei dem das Schreiben abgeschlossen wurde

UrlResponseInfo info

Die Antwortinformationen

ByteBuffer buffer

Der Puffer, der an write() übergeben wurde. Die Position des Puffers wird auf das Limit des Puffers gesetzt. Das Limit des Puffers wird nicht geändert.

boolean endOfStream

Das endOfStream-Flag, das an das entsprechende write() übergeben wurde. Wenn „true“, wird die Schreibseite geschlossen.