Top Inners Fields Constructors Methods
org.apache.hc.core5.http2.impl.nio

pack-priv abstract Class AbstractH2StreamMultiplexer

extends Object
implements Identifiable, HttpConnection
Class Inheritance
All Implemented Interfaces
org.apache.hc.core5.http.HttpConnection, org.apache.hc.core5.http.SocketModalCloseable, org.apache.hc.core5.io.ModalCloseable, java.io.Closeable, java.lang.AutoCloseable, org.apache.hc.core5.util.Identifiable
Known Direct Subclasses
org.apache.hc.core5.http2.impl.nio.ClientH2StreamMultiplexer, org.apache.hc.core5.http2.impl.nio.ServerH2StreamMultiplexer
Imports
java.io.IOException, java.net.SocketAddress, java.nio.BufferOverflowException, .ByteBuffer, java.nio.channels.SelectionKey, java.nio.charset.CharacterCodingException, java.util.Deque, .Iterator, .List, .Map, .Queue, java.util.concurrent.ConcurrentHashMap, .ConcurrentLinkedDeque, .ConcurrentLinkedQueue, java.util.concurrent.atomic.AtomicInteger, javax.net.ssl.SSLSession, org.apache.hc.core5.concurrent.CancellableDependency, org.apache.hc.core5.http.ConnectionClosedException, .EndpointDetails, .Header, .HttpConnection, .HttpException, .HttpStreamResetException, .HttpVersion, .ProtocolException, .ProtocolVersion, .RequestNotExecutedException, org.apache.hc.core5.http.config.CharCodingConfig, org.apache.hc.core5.http.impl.BasicEndpointDetails, .BasicHttpConnectionMetrics, .CharCodingSupport, org.apache.hc.core5.http.nio.AsyncPushConsumer, .AsyncPushProducer, .HandlerFactory, org.apache.hc.core5.http.nio.command.ExecutableCommand, .ShutdownCommand, org.apache.hc.core5.http.protocol.HttpCoreContext, .HttpProcessor, org.apache.hc.core5.http2.H2ConnectionException, .H2Error, .H2StreamResetException, org.apache.hc.core5.http2.config.H2Config, .H2Param, .H2Setting, org.apache.hc.core5.http2.frame.FrameFactory, .FrameFlag, .FrameType, .RawFrame, .StreamIdGenerator, org.apache.hc.core5.http2.hpack.HPackDecoder, .HPackEncoder, org.apache.hc.core5.http2.impl.BasicH2TransportMetrics, org.apache.hc.core5.http2.nio.AsyncPingHandler, org.apache.hc.core5.http2.nio.command.PingCommand, org.apache.hc.core5.io.CloseMode, org.apache.hc.core5.reactor.Command, .ProtocolIOSession, org.apache.hc.core5.reactor.ssl.TlsDetails, org.apache.hc.core5.util.Args, .ByteArrayBuffer, .Identifiable, .Timeout

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static enum
private static class
pack-priv static class
private class
pack-priv static enum

Field Summary

Modifier and TypeField and Description
private static final long
private final AtomicInteger
private final BasicHttpConnectionMetrics
private final AtomicInteger
private AbstractH2StreamMultiplexer.ConnectionHandshake
private AbstractH2StreamMultiplexer.Continuation
private EndpointDetails
private final FrameFactory
private boolean
private final HPackDecoder
private final HPackEncoder
private final HttpProcessor
private final StreamIdGenerator
private int
private int
private final FrameInputBuffer
private final BasicH2TransportMetrics
private final ProtocolIOSession
private final AtomicInteger
private static final long
private final H2Config
private AbstractH2StreamMultiplexer.SettingsHandshake
private int
private final FrameOutputBuffer
private final BasicH2TransportMetrics
private final Deque<RawFrame>
private final AtomicInteger
private final Queue<AsyncPingHandler>
private int
private volatile H2Config
private AbstractH2StreamMultiplexer.SettingsHandshake
private final H2StreamListener
private final Map<Integer, AbstractH2StreamMultiplexer.H2Stream>

Constructor Summary

AccessConstructor and Description
pack-priv
AbstractH2StreamMultiplexer(final ProtocolIOSession ioSession, final FrameFactory frameFactory, final StreamIdGenerator idGenerator, final HttpProcessor httpProcessor, final CharCodingConfig charCodingConfig, final H2Config h2Config, final H2StreamListener streamListener)

Method Summary

Modifier and TypeMethod and Description
pack-priv abstract void
pack-priv abstract void
pack-priv abstract void
pack-priv void
private void
private void
public void
close()

Implements org.apache.hc.core5.http.HttpConnection.close.

Closes this connection gracefully.
public void
close(final CloseMode
How to close the receiver.
closeMode
)

Implements org.apache.hc.core5.io.ModalCloseable.close.

Closes this process or endpoint and releases any system resources associated with it.
private void
commitFrame(final RawFrame frame)

private void
private void
commitHeaders(final int streamId, final List<? extends Header> headers, final boolean endStream)

private void
commitPushPromise(final int streamId, final int promisedStreamId, final List<Header> headers)

private void
private void
private void
consumeFrame(final RawFrame frame)

private void
private void
consumePushPromiseFrame(final RawFrame frame, final ByteBuffer payload, final AbstractH2StreamMultiplexer.H2Stream promisedStream)

private void
pack-priv abstract H2StreamHandler
pack-priv abstract H2StreamHandler
pack-priv List<Header>
decodeHeaders(final ByteBuffer payload)

private int
public EndpointDetails
getEndpointDetails()

Implements org.apache.hc.core5.http.HttpConnection.getEndpointDetails.

Returns this connection's endpoint details.
public String
public SocketAddress
getLocalAddress()

Implements org.apache.hc.core5.http.HttpConnection.getLocalAddress.

Returns this connection's local address or null if it is not bound yet.
public ProtocolVersion
getProtocolVersion()

Implements org.apache.hc.core5.http.HttpConnection.getProtocolVersion.

Returns this connection's protocol version or null if unknown.
public SocketAddress
getRemoteAddress()

Implements org.apache.hc.core5.http.HttpConnection.getRemoteAddress.

Returns this connection's remote address or null if it is not connected yet or unconnected.
public Timeout
public SSLSession
getSSLSession()

Implements org.apache.hc.core5.http.HttpConnection.getSSLSession.

Returns this connection's SSL session or null if TLS has not been activated.
private AbstractH2StreamMultiplexer.H2Stream
getValidStream(final int streamId)

private void
incrementInputCapacity(final int streamId, final AtomicInteger inputWindow, final int inputCapacity)

public boolean
isOpen()

Implements org.apache.hc.core5.http.HttpConnection.isOpen.

Checks if this connection is open.
private void
maximizeConnWindow(final int connWinSize)

public final void
public final void
public final void
onException(final Exception cause)

public final void
onInput(final ByteBuffer src)

public final void
public final void
onTimeout(final Timeout timeout)

private void
private void
private void
public void
setSocketTimeout(final Timeout
timeout value
timeout
)

Implements org.apache.hc.core5.http.SocketModalCloseable.setSocketTimeout.

Sets the socket timeout value.
private int
streamData(final int streamId, final AtomicInteger streamOutputWindow, final ByteBuffer payload)

private void
streamDataFrame(final int streamId, final AtomicInteger streamOutputWindow, final ByteBuffer payload, final int chunk)

private int
updateInputWindow(final int streamId, final AtomicInteger window, final int delta)

private void
updateLastStreamId(final int streamId)

private int
updateOutputWindow(final int streamId, final AtomicInteger window, final int delta)

private int
updateWindow(final AtomicInteger window, final int delta)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait