Class ServerH2StreamMultiplexer
- java.lang.Object
-
- org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer
-
- org.apache.hc.core5.http2.impl.nio.ServerH2StreamMultiplexer
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,HttpConnection
,SocketModalCloseable
,ModalCloseable
,Identifiable
@Internal public class ServerH2StreamMultiplexer extends AbstractH2StreamMultiplexer
I/O event handler for events fired byProtocolIOSession
that implements server side HTTP/2 messaging protocol with full support for multiplexed message transmission.- Since:
- 5.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer
AbstractH2StreamMultiplexer.ConnectionHandshake, AbstractH2StreamMultiplexer.H2Stream, AbstractH2StreamMultiplexer.SettingsHandshake
-
-
Field Summary
Fields Modifier and Type Field Description private HandlerFactory<AsyncServerExchangeHandler>
exchangeHandlerFactory
-
Constructor Summary
Constructors Constructor Description ServerH2StreamMultiplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, CharCodingConfig charCodingConfig, H2Config h2Config)
ServerH2StreamMultiplexer(ProtocolIOSession ioSession, FrameFactory frameFactory, HttpProcessor httpProcessor, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, CharCodingConfig charCodingConfig, H2Config h2Config, H2StreamListener streamListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
acceptHeaderFrame()
(package private) void
acceptPushFrame()
(package private) void
acceptPushRequest()
(package private) H2StreamHandler
createLocallyInitiatedStream(ExecutableCommand command, H2StreamChannel channel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics)
(package private) H2StreamHandler
createRemotelyInitiatedStream(H2StreamChannel channel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics, HandlerFactory<AsyncPushConsumer> pushHandlerFactory)
(package private) java.util.List<Header>
decodeHeaders(java.nio.ByteBuffer payload)
java.lang.String
toString()
-
Methods inherited from class org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer
appendState, close, close, getEndpointDetails, getId, getLocalAddress, getProtocolVersion, getRemoteAddress, getSocketTimeout, getSSLSession, isOpen, onConnect, onDisconnect, onException, onInput, onOutput, onTimeout, setSocketTimeout
-
-
-
-
Field Detail
-
exchangeHandlerFactory
private final HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory
-
-
Constructor Detail
-
ServerH2StreamMultiplexer
public ServerH2StreamMultiplexer(ProtocolIOSession ioSession, FrameFactory frameFactory, HttpProcessor httpProcessor, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, CharCodingConfig charCodingConfig, H2Config h2Config, H2StreamListener streamListener)
-
ServerH2StreamMultiplexer
public ServerH2StreamMultiplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, CharCodingConfig charCodingConfig, H2Config h2Config)
-
-
Method Detail
-
acceptHeaderFrame
void acceptHeaderFrame() throws H2ConnectionException
- Specified by:
acceptHeaderFrame
in classAbstractH2StreamMultiplexer
- Throws:
H2ConnectionException
-
acceptPushRequest
void acceptPushRequest() throws H2ConnectionException
- Specified by:
acceptPushRequest
in classAbstractH2StreamMultiplexer
- Throws:
H2ConnectionException
-
acceptPushFrame
void acceptPushFrame() throws H2ConnectionException
- Specified by:
acceptPushFrame
in classAbstractH2StreamMultiplexer
- Throws:
H2ConnectionException
-
createRemotelyInitiatedStream
H2StreamHandler createRemotelyInitiatedStream(H2StreamChannel channel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics, HandlerFactory<AsyncPushConsumer> pushHandlerFactory) throws java.io.IOException
- Specified by:
createRemotelyInitiatedStream
in classAbstractH2StreamMultiplexer
- Throws:
java.io.IOException
-
createLocallyInitiatedStream
H2StreamHandler createLocallyInitiatedStream(ExecutableCommand command, H2StreamChannel channel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics) throws java.io.IOException
- Specified by:
createLocallyInitiatedStream
in classAbstractH2StreamMultiplexer
- Throws:
java.io.IOException
-
decodeHeaders
java.util.List<Header> decodeHeaders(java.nio.ByteBuffer payload) throws HttpException
- Overrides:
decodeHeaders
in classAbstractH2StreamMultiplexer
- Throws:
HttpException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-