Class Http3ClientConnectionHandler
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.http3.Http3ConnectionHandler
io.netty.handler.codec.http3.Http3ClientConnectionHandler
- All Implemented Interfaces:
ChannelHandler, ChannelInboundHandler
-
Nested Class Summary
Nested classes/interfaces inherited from interface ChannelHandler
ChannelHandler.SharableModifier and TypeInterfaceDescriptionstatic @interfaceIndicates that the same instance of the annotatedChannelHandlercan be added to one or moreChannelPipelines multiple times without a race condition. -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new instance.Http3ClientConnectionHandler(@Nullable ChannelHandler inboundControlStreamHandler, @Nullable LongFunction<ChannelHandler> pushStreamHandlerFactory, @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable) Create a new instance.Http3ClientConnectionHandler(@Nullable ChannelHandler inboundControlStreamHandler, @Nullable LongFunction<ChannelHandler> pushStreamHandlerFactory, @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator) Create a new instance.Http3ClientConnectionHandler(@Nullable ChannelHandler inboundControlStreamHandler, @Nullable LongFunction<ChannelHandler> pushStreamHandlerFactory, @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator, @Nullable QpackSensitivityDetector sensitivityDetector, int maxUnknownFramePayloadLength) Create a new instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidinitBidirectionalStream(ChannelHandlerContext ctx, QuicStreamChannel channel) protected voidinitUnidirectionalStream(ChannelHandlerContext ctx, QuicStreamChannel streamChannel) Methods inherited from class Http3ConnectionHandler
channelActive, channelRead, handlerAdded, isGoAwayReceived, isSharableModifier and TypeMethodDescriptionvoidCallsChannelHandlerContext.fireChannelActive()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidchannelRead(ChannelHandlerContext ctx, Object msg) CallsChannelHandlerContext.fireChannelRead(Object)to forward to the nextChannelInboundHandlerin theChannelPipeline.voidDo nothing by default, sub-classes may override this method.final booleanReturnstrueif we received a GOAWAY frame from the remote peer.booleanAlways returnsfalseas it keeps state.Methods inherited from class ChannelInboundHandlerAdapter
channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredModifier and TypeMethodDescriptionvoidCallsChannelHandlerContext.fireChannelInactive()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelReadComplete()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelRegistered()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelUnregistered()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidCallsChannelHandlerContext.fireChannelWritabilityChanged()to forward to the nextChannelInboundHandlerin theChannelPipeline.voidexceptionCaught(ChannelHandlerContext ctx, Throwable cause) CallsChannelHandlerContext.fireExceptionCaught(Throwable)to forward to the nextChannelHandlerin theChannelPipeline.voiduserEventTriggered(ChannelHandlerContext ctx, Object evt) CallsChannelHandlerContext.fireUserEventTriggered(Object)to forward to the nextChannelInboundHandlerin theChannelPipeline.Methods inherited from class ChannelHandlerAdapter
ensureNotSharable, handlerRemovedModifier and TypeMethodDescriptionprotected voidvoidDo nothing by default, sub-classes may override this method.
-
Constructor Details
-
Http3ClientConnectionHandler
public Http3ClientConnectionHandler()Create a new instance. -
Http3ClientConnectionHandler
public Http3ClientConnectionHandler(@Nullable @Nullable ChannelHandler inboundControlStreamHandler, @Nullable @Nullable LongFunction<ChannelHandler> pushStreamHandlerFactory, @Nullable @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable) Create a new instance.- Parameters:
inboundControlStreamHandler- theChannelHandlerwhich will be notified aboutHttp3RequestStreamFrames ornullif the user is not interested in these.pushStreamHandlerFactory- theLongFunctionthat will provide a customChannelHandlerfor push streamsnullif no special handling should be done. When present, push ID will be passed as an argument to theLongFunction.unknownInboundStreamHandlerFactory- theLongFunctionthat will provide a customChannelHandlerfor unknown inbound stream types ornullif no special handling should be done.localSettings- the localHttp3SettingsFramethat should be sent to the remote peer ornullif the default settings should be used.disableQpackDynamicTable- If QPACK dynamic table should be disabled.
-
Http3ClientConnectionHandler
public Http3ClientConnectionHandler(@Nullable @Nullable ChannelHandler inboundControlStreamHandler, @Nullable @Nullable LongFunction<ChannelHandler> pushStreamHandlerFactory, @Nullable @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, @Nullable Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator) Create a new instance.- Parameters:
inboundControlStreamHandler- theChannelHandlerwhich will be notified aboutHttp3RequestStreamFrames ornullif the user is not interested in these.pushStreamHandlerFactory- theLongFunctionthat will provide a customChannelHandlerfor push streamsnullif no special handling should be done. When present, push ID will be passed as an argument to theLongFunction.unknownInboundStreamHandlerFactory- theLongFunctionthat will provide a customChannelHandlerfor unknown inbound stream types ornullif no special handling should be done.localSettings- the localHttp3SettingsFramethat should be sent to the remote peer ornullif the default settings should be used.disableQpackDynamicTable- If QPACK dynamic table should be disabled.nonStandardSettingsValidator- theHttp3Settings.NonStandardHttp3SettingsValidatorto use when validating settings that are non-standard.
-
Http3ClientConnectionHandler
public Http3ClientConnectionHandler(@Nullable @Nullable ChannelHandler inboundControlStreamHandler, @Nullable @Nullable LongFunction<ChannelHandler> pushStreamHandlerFactory, @Nullable @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, @Nullable Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator, @Nullable @Nullable QpackSensitivityDetector sensitivityDetector, int maxUnknownFramePayloadLength) Create a new instance.- Parameters:
inboundControlStreamHandler- theChannelHandlerwhich will be notified aboutHttp3RequestStreamFrames ornullif the user is not interested in these.pushStreamHandlerFactory- theLongFunctionthat will provide a customChannelHandlerfor push streamsnullif no special handling should be done. When present, push ID will be passed as an argument to theLongFunction.unknownInboundStreamHandlerFactory- theLongFunctionthat will provide a customChannelHandlerfor unknown inbound stream types ornullif no special handling should be done.localSettings- the localHttp3SettingsFramethat should be sent to the remote peer ornullif the default settings should be used.disableQpackDynamicTable- If QPACK dynamic table should be disabled.nonStandardSettingsValidator- theHttp3Settings.NonStandardHttp3SettingsValidatorto use when validating settings that are non-standard.sensitivityDetector- detector that marks sensitive headers for QPACK Never Indexed encoding, ornullto use the historical default.maxUnknownFramePayloadLength- the maximum payload size of an unknown frame.
-
-
Method Details
-
initBidirectionalStream
-
initUnidirectionalStream
-