Http3ExchangeImpl
and the HTTP/3 push promises stream (Http3PushPromiseStream.
| Modifier and Type | Class and Description |
|---|---|
| pack-priv static enum | |
| pack-priv abstract class | Http3Stream.
A base class implementing |
| Modifier and Type | Field and Description |
|---|---|
| private long | |
| private Long | |
| private final AtomicInteger | |
| private volatile boolean | |
| private volatile long | |
| pack-priv final ConcurrentLinkedQueue | |
| private Http3Stream. |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv abstract void | cancelImpl(Throwable
an exception to be relayed to the multi exchange
through the completable future chain throwable, Http3Error an HTTP/3 error error)Cancel the stream exchange on error |
| pack-priv final String | |
| pack-priv abstract void | completeResponse(Response
the response)Response that was received.Called at the end of |
| pack-priv void | connectionError(Throwable
an exception to be relayed to the multi exchange
through the completable future chain throwable, Http3Error an HTTP/3 error error)Notify of a connection error. |
| pack-priv abstract void | connectionError(Throwable
an exception to be relayed to the multi exchange
through the completable future chain throwable, long an HTTP/3 error code errorCode, String an error message to be logged when closing the connection errMsg)Notify of a connection error. |
| pack-priv void | handleResponse(HttpHeadersBuilder
the response headers builder responseHeadersBuilder, Http3Stream<T>.the response headers consumer rspHeadersConsumer,the read scheduler readScheduler, Logger the debug logger debug)Validate response headers and status code based on the |
| pack-priv abstract Response | Returns: a newResponse objectresponse headers responseHeaders, int response code responseCode)Called to create a new Response object for the newly receive response headers and response status code. |
| pack-priv abstract void | onPollException(QuicStreamReader
the stream reader reader, IOException the exception caught io)Called when an exception is thrown by |
| pack-priv abstract void | |
| private ByteBuffer | |
| pack-priv void | processQuicData(QuicStreamReader reader, FramesDecoder framesDecoder, H3FrameOrderVerifier frameOrderVerifier, SequentialScheduler readScheduler, Logger debug)
Invoked when some data is received from the underlying quic stream. |
| pack-priv abstract void | pushResponseData(ConcurrentLinkedQueue<List<ByteBuffer>>
a queue of available data to be pushed to the subscriber responseData)Push response data to the response body subscriber if allowed by the subscription state. |
| pack-priv boolean | Returns: whether reading from the quic stream is currently pausedReturns whether reading from the quic stream is currently paused. |
| private void | |
| public long | Returns: count of bytes read from the QUIC stream so farReturns count of bytes read from the QUIC stream so far. |
| pack-priv abstract void | receiveHeaders(HeadersFrame
a partially received header frame headers, List<ByteBuffer> the payload bytes available for that frame payload)Called when new payload data is received by |
| pack-priv abstract void | receivePushPromiseFrame(PushPromiseFrame
a partially received push promise frame ppf, List<ByteBuffer> the payload bytes available for that frame payload)Called when new payload data is received by |
| pack-priv abstract long | Returns: the Quic stream id for this exchange (request/response or push response)Returns the Quic stream id for this exchange (request/response or push response). |
| pack-priv void | switchReadingPaused(boolean
the new value value)Switches the value of the
Subclasses of |
| private Throwable |
| consumedDataBytes | back to summary |
|---|---|
| private long consumedDataBytes | |
| contentLength | back to summary |
|---|---|
| private Long contentLength | |
| nonFinalResponseCount | back to summary |
|---|---|
| private final AtomicInteger nonFinalResponseCount | |
| readingPaused | back to summary |
|---|---|
| private volatile boolean readingPaused | |
| receivedQuicBytes | back to summary |
|---|---|
| private volatile long receivedQuicBytes | |
| responseData | back to summary |
|---|---|
| pack-priv final ConcurrentLinkedQueue<List<ByteBuffer>> responseData | |
| responseState | back to summary |
|---|---|
| private Http3Stream. | |
| Http3Stream | back to summary |
|---|---|
| pack-priv Http3Stream(Exchange<T> exchange) | |
| cancelImpl | back to summary |
|---|---|
| pack-priv abstract void cancelImpl(Throwable throwable, Http3Error error) Cancel the stream exchange on error
| |
| checkInterimResponseCountExceeded | back to summary |
|---|---|
| pack-priv final String checkInterimResponseCountExceeded() | |
| completeResponse | back to summary |
|---|---|
| pack-priv abstract void completeResponse(Response response) Called at the end of
| |
| connectionError | back to summary |
|---|---|
| pack-priv void connectionError(Throwable throwable, Http3Error error) Notify of a connection error. The implementation of this method is supposed to close all exchanges, cancel all push promises, and close the connection. Implementation Specification The implementation of this method calls connectionError(throwable, error.code(), throwable.getMessage());
| |
| connectionError | back to summary |
|---|---|
| pack-priv abstract void connectionError(Throwable throwable, long errorCode, String errMsg) Notify of a connection error. The implementation of this method is supposed to close all exchanges, cancel all push promises, and close the connection. | |
| handleResponse | back to summary |
|---|---|
| pack-priv void handleResponse(HttpHeadersBuilder responseHeadersBuilder, Http3Stream<T>. Validate response headers and status code based on the
| |
| newResponse | back to summary |
|---|---|
| pack-priv abstract Response newResponse(HttpHeaders responseHeaders, int responseCode) Called to create a new Response object for the newly receive response headers and
response status code. This method is called from
| |
| onPollException | back to summary |
|---|---|
| pack-priv abstract void onPollException(QuicStreamReader reader, IOException io) Called when an exception is thrown by
| |
| onReaderReset | back to summary |
|---|---|
| pack-priv abstract void onReaderReset() Called when | |
| pollIfNotReset | back to summary |
|---|---|
| private ByteBuffer pollIfNotReset(QuicStreamReader reader) throws IOException | |
| processQuicData | back to summary |
|---|---|
| pack-priv void processQuicData(QuicStreamReader reader, FramesDecoder framesDecoder, H3FrameOrderVerifier frameOrderVerifier, SequentialScheduler readScheduler, Logger debug) throws IOException Invoked when some data is received from the underlying quic stream. This implements the read loop for a request-response stream or a push response stream. | |
| pushResponseData | back to summary |
|---|---|
| pack-priv abstract void pushResponseData(ConcurrentLinkedQueue<List<ByteBuffer>> responseData) Push response data to the response body subscriber if allowed by the subscription state.
| |
| readingPaused | back to summary |
|---|---|
| pack-priv boolean readingPaused() Returns whether reading from the quic stream is currently paused. Typically reading is paused when waiting for headers to be decoded by QPack.
| |
| receiveData | back to summary |
|---|---|
| private void receiveData(DataFrame data, List<ByteBuffer> payload, Logger debug) | |
| receivedQuicBytes | back to summary |
|---|---|
| public long receivedQuicBytes() Returns count of bytes read from the QUIC stream so far.
| |
| receiveHeaders | back to summary |
|---|---|
| pack-priv abstract void receiveHeaders(HeadersFrame headers, List<ByteBuffer> payload) throws IOException Called when new payload data is received by
Any exception thrown here will be rethrown by
| |
| receivePushPromiseFrame | back to summary |
|---|---|
| pack-priv abstract void receivePushPromiseFrame(PushPromiseFrame ppf, List<ByteBuffer> payload) throws IOException Called when new payload data is received by
Any exception thrown here will be rethrown by
| |
| streamId | back to summary |
|---|---|
| pack-priv abstract long streamId() Returns the Quic stream id for this exchange (request/response or push response).
| |
| switchReadingPaused | back to summary |
|---|---|
| pack-priv void switchReadingPaused(boolean value) Switches the value of the
Subclasses of
| |
| toThrowable | back to summary |
|---|---|
| private Throwable toThrowable(MalformedFrame malformedFrame) | |
| Modifier and Type | Field and Description |
|---|---|
| public static final Http3Stream. | |
| public static final Http3Stream. | |
| public static final Http3Stream. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static Http3Stream. | |
| public static Http3Stream. |
| PERMIT_HEADER | back to summary |
|---|---|
| public static final Http3Stream. | |
| PERMIT_NONE | back to summary |
|---|---|
| public static final Http3Stream. | |
| PERMIT_TRAILER | back to summary |
|---|---|
| public static final Http3Stream. | |
| ResponseState | back to summary |
|---|---|
| private ResponseState() | |
| valueOf | back to summary |
|---|---|
| public static Http3Stream. | |
| values | back to summary |
|---|---|
| public static Http3Stream. | |
DecodingCallback used for receiving
and building HttpHeaders. Can be used for request headers, response headers,
push response headers, or trailers.
| Modifier and Type | Field and Description |
|---|---|
| private volatile boolean |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public boolean | hasError()
Overrides default jdk. Reports if a connection or a stream error has been observed during the decoding process |
| pack-priv String | |
| pack-priv abstract HeaderFrameReader | |
| pack-priv abstract HttpHeadersBuilder | |
| pack-priv abstract void | |
| public void | onComplete()
Implements jdk. A header fields decoding is completed. |
| public void | onConnectionError(Throwable throwable, Http3Error http3Error)
Implements jdk. A connection-level error observed during the decoding process. |
| public void | onDecoded(CharSequence name, CharSequence value)
Overrides jdk. Implements jdk. A method the more specific methods of the callback forward their calls to. |
| public void | onStreamError(Throwable throwable, Http3Error http3Error)
Overrides default jdk. A stream-level error observed during the decoding process. |
| pack-priv abstract Decoder | |
| public void | reset()
Overrides jdk. Called when END_HEADERS was received. |
| pack-priv abstract void |
| hasError | back to summary |
|---|---|
| private volatile boolean hasError | |
| StreamHeadersConsumer | back to summary |
|---|---|
| pack-priv StreamHeadersConsumer(ValidatingHeadersConsumer. | |
| hasError | back to summary |
|---|---|
| public boolean hasError() Overrides default jdk. Doc from jdk. Reports if a connection or a stream error has been observed during the decoding process
| |
| headerFieldType | back to summary |
|---|---|
| pack-priv String headerFieldType() | |
| headerFrameReader | back to summary |
|---|---|
| pack-priv abstract HeaderFrameReader headerFrameReader() | |
| headersBuilder | back to summary |
|---|---|
| pack-priv abstract HttpHeadersBuilder headersBuilder() | |
| headersCompleted | back to summary |
|---|---|
| pack-priv abstract void headersCompleted() | |
| onComplete | back to summary |
|---|---|
| public void onComplete() Implements jdk. Doc from jdk. A header fields decoding is completed.
| |
| onConnectionError | back to summary |
|---|---|
| public void onConnectionError(Throwable throwable, Http3Error http3Error) Implements jdk. Doc from jdk. A connection-level error observed during the decoding process.
| |
| onDecoded | back to summary |
|---|---|
| public void onDecoded(CharSequence name, CharSequence value) Overrides jdk. Implements jdk. Doc from jdk. A method the more specific methods of the callback forward their calls to.
| |
| onStreamError | back to summary |
|---|---|
| public void onStreamError(Throwable throwable, Http3Error http3Error) Overrides default jdk. Doc from jdk. A stream-level error observed during the decoding process.
| |
| qpackDecoder | back to summary |
|---|---|
| pack-priv abstract Decoder qpackDecoder() | |
| reset | back to summary |
|---|---|
| public void reset() Overrides jdk. Doc from jdk. Called when END_HEADERS was received. This consumer may be invoked again after reset() is called, but for a whole new set of headers.
| |
| resetDone | back to summary |
|---|---|
| pack-priv abstract void resetDone() | |