Class ClientH2StreamMultiplexer
- java.lang.Object
-
- org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer
-
- org.apache.hc.core5.http2.impl.nio.ClientH2StreamMultiplexer
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,HttpConnection,SocketModalCloseable,ModalCloseable,Identifiable
@Internal public class ClientH2StreamMultiplexer extends AbstractH2StreamMultiplexer
I/O event handler for events fired byProtocolIOSessionthat implements client 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.H2StreamChannelImpl, AbstractH2StreamMultiplexer.SettingsHandshake
-
-
Field Summary
Fields Modifier and Type Field Description private HandlerFactory<AsyncPushConsumer>pushHandlerFactory
-
Constructor Summary
Constructors Constructor Description ClientH2StreamMultiplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, H2Config h2Config, CharCodingConfig charCodingConfig)ClientH2StreamMultiplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, H2Config h2Config, CharCodingConfig charCodingConfig)ClientH2StreamMultiplexer(ProtocolIOSession ioSession, FrameFactory frameFactory, HttpProcessor httpProcessor, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, H2Config h2Config, CharCodingConfig charCodingConfig, H2StreamListener streamListener)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidacceptHeaderFrame()(package private) voidacceptPushFrame()(package private) voidacceptPushRequest()(package private) booleanallowGracefulAbort(H2Stream stream)(package private) H2Setting[]generateSettings(H2Config localConfig)(package private) H2StreamHandlerincomingPushPromise(H2StreamChannel channel, HandlerFactory<AsyncPushConsumer> pushHandlerFactory)(package private) H2StreamHandlerincomingRequest(H2StreamChannel channel)(package private) H2StreamHandleroutgoingPushPromise(H2StreamChannel channel, AsyncPushProducer pushProducer)(package private) H2StreamHandleroutgoingRequest(H2StreamChannel channel, AsyncClientExchangeHandler exchangeHandler, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, HttpContext context)java.lang.StringtoString()(package private) voidvalidateSetting(H2Param param, int value)-
Methods inherited from class org.apache.hc.core5.http2.impl.nio.AbstractH2StreamMultiplexer
appendState, close, close, createChannel, createStream, decodeHeaders, getConnMetrics, getEndpointDetails, getHttpProcessor, getId, getLocalAddress, getProtocolVersion, getRemoteAddress, getSocketTimeout, getSSLSession, isOpen, onConnect, onDisconnect, onException, onInput, onOutput, onTimeout, requestSessionOutput, setSocketTimeout, submitCommand
-
-
-
-
Field Detail
-
pushHandlerFactory
private final HandlerFactory<AsyncPushConsumer> pushHandlerFactory
-
-
Constructor Detail
-
ClientH2StreamMultiplexer
public ClientH2StreamMultiplexer(ProtocolIOSession ioSession, FrameFactory frameFactory, HttpProcessor httpProcessor, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, H2Config h2Config, CharCodingConfig charCodingConfig, H2StreamListener streamListener)
-
ClientH2StreamMultiplexer
public ClientH2StreamMultiplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, H2Config h2Config, CharCodingConfig charCodingConfig)
-
ClientH2StreamMultiplexer
public ClientH2StreamMultiplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, H2Config h2Config, CharCodingConfig charCodingConfig)
-
-
Method Detail
-
validateSetting
void validateSetting(H2Param param, int value) throws H2ConnectionException
- Specified by:
validateSettingin classAbstractH2StreamMultiplexer- Throws:
H2ConnectionException
-
generateSettings
H2Setting[] generateSettings(H2Config localConfig)
- Specified by:
generateSettingsin classAbstractH2StreamMultiplexer
-
acceptHeaderFrame
void acceptHeaderFrame() throws H2ConnectionException- Specified by:
acceptHeaderFramein classAbstractH2StreamMultiplexer- Throws:
H2ConnectionException
-
acceptPushFrame
void acceptPushFrame()
- Specified by:
acceptPushFramein classAbstractH2StreamMultiplexer
-
acceptPushRequest
void acceptPushRequest() throws H2ConnectionException- Specified by:
acceptPushRequestin classAbstractH2StreamMultiplexer- Throws:
H2ConnectionException
-
outgoingRequest
H2StreamHandler outgoingRequest(H2StreamChannel channel, AsyncClientExchangeHandler exchangeHandler, HandlerFactory<AsyncPushConsumer> pushHandlerFactory, HttpContext context)
- Specified by:
outgoingRequestin classAbstractH2StreamMultiplexer
-
incomingRequest
H2StreamHandler incomingRequest(H2StreamChannel channel) throws java.io.IOException
- Specified by:
incomingRequestin classAbstractH2StreamMultiplexer- Throws:
java.io.IOException
-
outgoingPushPromise
H2StreamHandler outgoingPushPromise(H2StreamChannel channel, AsyncPushProducer pushProducer) throws java.io.IOException
- Specified by:
outgoingPushPromisein classAbstractH2StreamMultiplexer- Throws:
java.io.IOException
-
incomingPushPromise
H2StreamHandler incomingPushPromise(H2StreamChannel channel, HandlerFactory<AsyncPushConsumer> pushHandlerFactory)
- Specified by:
incomingPushPromisein classAbstractH2StreamMultiplexer
-
allowGracefulAbort
boolean allowGracefulAbort(H2Stream stream)
- Specified by:
allowGracefulAbortin classAbstractH2StreamMultiplexer
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-