Class Http3ServerConnectionHandler
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.http3.Http3ConnectionHandler
io.netty.handler.codec.http3.Http3ServerConnectionHandler
- All Implemented Interfaces:
ChannelHandler, ChannelInboundHandler
Handler that handles HTTP3 for the server-side.
-
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
ConstructorsConstructorDescriptionHttp3ServerConnectionHandler(ChannelHandler requestStreamHandler) Create a new instance.Http3ServerConnectionHandler(ChannelHandler requestStreamHandler, @Nullable ChannelHandler inboundControlStreamHandler, @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable) Create a new instance.Http3ServerConnectionHandler(ChannelHandler requestStreamHandler, @Nullable ChannelHandler inboundControlStreamHandler, @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator) Create a new instance.Http3ServerConnectionHandler(ChannelHandler requestStreamHandler, @Nullable ChannelHandler inboundControlStreamHandler, @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator, @Nullable QpackSensitivityDetector sensitivityDetector, int maxUnknownFramePayloadLength) Create a new instance. -
Method Summary
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
-
Http3ServerConnectionHandler
Create a new instance.- Parameters:
requestStreamHandler- theChannelHandlerthat is used for each new request stream. This handler will receiveHttp3HeadersFrameandHttp3DataFrames.
-
Http3ServerConnectionHandler
public Http3ServerConnectionHandler(ChannelHandler requestStreamHandler, @Nullable @Nullable ChannelHandler inboundControlStreamHandler, @Nullable @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable) Create a new instance.- Parameters:
requestStreamHandler- theChannelHandlerthat is used for each new request stream. This handler will receiveHttp3HeadersFrameandHttp3DataFrames.inboundControlStreamHandler- theChannelHandlerwhich will be notified aboutHttp3RequestStreamFrames ornullif the user is not interested in these.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.
-
Http3ServerConnectionHandler
public Http3ServerConnectionHandler(ChannelHandler requestStreamHandler, @Nullable @Nullable ChannelHandler inboundControlStreamHandler, @Nullable @Nullable LongFunction<ChannelHandler> unknownInboundStreamHandlerFactory, @Nullable @Nullable Http3SettingsFrame localSettings, boolean disableQpackDynamicTable, @Nullable Http3Settings.NonStandardHttp3SettingsValidator nonStandardSettingsValidator) Create a new instance.- Parameters:
requestStreamHandler- theChannelHandlerthat is used for each new request stream. This handler will receiveHttp3HeadersFrameandHttp3DataFrames.inboundControlStreamHandler- theChannelHandlerwhich will be notified aboutHttp3RequestStreamFrames ornullif the user is not interested in these.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.
-
Http3ServerConnectionHandler
public Http3ServerConnectionHandler(ChannelHandler requestStreamHandler, @Nullable @Nullable ChannelHandler inboundControlStreamHandler, @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:
requestStreamHandler- theChannelHandlerthat is used for each new request stream. This handler will receiveHttp3HeadersFrameandHttp3DataFrames.inboundControlStreamHandler- theChannelHandlerwhich will be notified aboutHttp3RequestStreamFrames ornullif the user is not interested in these.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.
-