Module io.netty.codec.http2
Package io.netty5.handler.codec.http2
Class Http2ConnectionHandlerBuilder
- java.lang.Object
-
- io.netty5.handler.codec.http2.AbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
- io.netty5.handler.codec.http2.Http2ConnectionHandlerBuilder
-
@UnstableApi public final class Http2ConnectionHandlerBuilder extends AbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
Builder which buildsHttp2ConnectionHandler
objects.
-
-
Constructor Summary
Constructors Constructor Description Http2ConnectionHandlerBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Http2ConnectionHandler
build()
Create a newHttp2ConnectionHandler
.protected Http2ConnectionHandler
build(Http2ConnectionDecoder decoder, Http2ConnectionEncoder encoder, Http2Settings initialSettings)
Implement this method to create a newHttp2ConnectionHandler
or its subtype instance.Http2ConnectionHandlerBuilder
codec(Http2ConnectionDecoder decoder, Http2ConnectionEncoder encoder)
Sets theHttp2ConnectionDecoder
andHttp2ConnectionEncoder
to use.Http2ConnectionHandlerBuilder
connection(Http2Connection connection)
Sets theHttp2Connection
to use.Http2ConnectionHandlerBuilder
decoupleCloseAndGoAway(boolean decoupleCloseAndGoAway)
Determine if theChannel.close()
should be coupled with goaway and graceful close.Http2ConnectionHandlerBuilder
encoderEnforceMaxConcurrentStreams(boolean encoderEnforceMaxConcurrentStreams)
Sets if the encoder should queue frames if the maximum number of concurrent streams would otherwise be exceeded.Http2ConnectionHandlerBuilder
encoderIgnoreMaxHeaderListSize(boolean encoderIgnoreMaxHeaderListSize)
Sets if the SETTINGS_MAX_HEADER_LIST_SIZE should be ignored when encoding headers.Http2ConnectionHandlerBuilder
flushPreface(boolean flushPreface)
Http2ConnectionHandlerBuilder
frameListener(Http2FrameListener frameListener)
Sets the listener of inbound frames.Http2ConnectionHandlerBuilder
frameLogger(Http2FrameLogger frameLogger)
Sets the logger that is used for the encoder and decoder.Http2ConnectionHandlerBuilder
gracefulShutdownTimeoutMillis(long gracefulShutdownTimeoutMillis)
Sets the graceful shutdown timeout of theHttp2Connection
in milliseconds.Http2ConnectionHandlerBuilder
headerSensitivityDetector(Http2HeadersEncoder.SensitivityDetector headerSensitivityDetector)
Sets theHttp2HeadersEncoder.SensitivityDetector
to use.Http2ConnectionHandlerBuilder
initialHuffmanDecodeCapacity(int initialHuffmanDecodeCapacity)
Deprecated.Http2Settings
initialSettings()
Sets theHttp2Settings
to use for the initial connection settings exchange.Http2ConnectionHandlerBuilder
initialSettings(Http2Settings settings)
Sets theHttp2Settings
to use for the initial connection settings exchange.Http2ConnectionHandlerBuilder
maxReservedStreams(int maxReservedStreams)
Set the maximum number of streams which can be in the reserved state at any given time.Http2ConnectionHandlerBuilder
server(boolean isServer)
Sets ifAbstractHttp2ConnectionHandlerBuilder.build()
will to create aHttp2Connection
in server mode (true
) or client mode (false
).Http2ConnectionHandlerBuilder
validateHeaders(boolean validateHeaders)
Sets if HTTP headers should be validated according to RFC 7540, 8.1.2.6.-
Methods inherited from class io.netty5.handler.codec.http2.AbstractHttp2ConnectionHandlerBuilder
autoAckPingFrame, autoAckSettingsFrame, connection, decoder, decoderEnforceMaxConsecutiveEmptyDataFrames, decoderEnforceMaxConsecutiveEmptyDataFrames, decoupleCloseAndGoAway, encoder, encoderEnforceMaxConcurrentStreams, encoderEnforceMaxQueuedControlFrames, encoderEnforceMaxQueuedControlFrames, flushPreface, frameListener, frameLogger, gracefulShutdownTimeoutMillis, headerSensitivityDetector, isAutoAckPingFrame, isAutoAckSettingsFrame, isServer, isValidateHeaders, maxReservedStreams, promisedRequestVerifier, promisedRequestVerifier, self
-
-
-
-
Method Detail
-
validateHeaders
public Http2ConnectionHandlerBuilder validateHeaders(boolean validateHeaders)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets if HTTP headers should be validated according to RFC 7540, 8.1.2.6.
-
initialSettings
public Http2ConnectionHandlerBuilder initialSettings(Http2Settings settings)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets theHttp2Settings
to use for the initial connection settings exchange.
-
initialSettings
public Http2Settings initialSettings()
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets theHttp2Settings
to use for the initial connection settings exchange.
-
frameListener
public Http2ConnectionHandlerBuilder frameListener(Http2FrameListener frameListener)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets the listener of inbound frames. This listener will only be set if the decoder's listener isnull
.
-
gracefulShutdownTimeoutMillis
public Http2ConnectionHandlerBuilder gracefulShutdownTimeoutMillis(long gracefulShutdownTimeoutMillis)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets the graceful shutdown timeout of theHttp2Connection
in milliseconds.
-
server
public Http2ConnectionHandlerBuilder server(boolean isServer)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets ifAbstractHttp2ConnectionHandlerBuilder.build()
will to create aHttp2Connection
in server mode (true
) or client mode (false
).- Overrides:
server
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
connection
public Http2ConnectionHandlerBuilder connection(Http2Connection connection)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets theHttp2Connection
to use.- Overrides:
connection
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
maxReservedStreams
public Http2ConnectionHandlerBuilder maxReservedStreams(int maxReservedStreams)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Set the maximum number of streams which can be in the reserved state at any given time.
-
codec
public Http2ConnectionHandlerBuilder codec(Http2ConnectionDecoder decoder, Http2ConnectionEncoder encoder)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets theHttp2ConnectionDecoder
andHttp2ConnectionEncoder
to use.- Overrides:
codec
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
frameLogger
public Http2ConnectionHandlerBuilder frameLogger(Http2FrameLogger frameLogger)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets the logger that is used for the encoder and decoder.- Overrides:
frameLogger
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
encoderEnforceMaxConcurrentStreams
public Http2ConnectionHandlerBuilder encoderEnforceMaxConcurrentStreams(boolean encoderEnforceMaxConcurrentStreams)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets if the encoder should queue frames if the maximum number of concurrent streams would otherwise be exceeded.
-
encoderIgnoreMaxHeaderListSize
public Http2ConnectionHandlerBuilder encoderIgnoreMaxHeaderListSize(boolean encoderIgnoreMaxHeaderListSize)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets if the SETTINGS_MAX_HEADER_LIST_SIZE should be ignored when encoding headers.- Overrides:
encoderIgnoreMaxHeaderListSize
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
- Parameters:
encoderIgnoreMaxHeaderListSize
-true
to ignore SETTINGS_MAX_HEADER_LIST_SIZE.- Returns:
- this.
-
headerSensitivityDetector
public Http2ConnectionHandlerBuilder headerSensitivityDetector(Http2HeadersEncoder.SensitivityDetector headerSensitivityDetector)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Sets theHttp2HeadersEncoder.SensitivityDetector
to use.
-
initialHuffmanDecodeCapacity
@Deprecated public Http2ConnectionHandlerBuilder initialHuffmanDecodeCapacity(int initialHuffmanDecodeCapacity)
Deprecated.Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Does nothing, do not call.
-
decoupleCloseAndGoAway
public Http2ConnectionHandlerBuilder decoupleCloseAndGoAway(boolean decoupleCloseAndGoAway)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Determine if theChannel.close()
should be coupled with goaway and graceful close.- Overrides:
decoupleCloseAndGoAway
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
- Parameters:
decoupleCloseAndGoAway
-true
to makeChannel.close()
directly close the underlying transport, and not attempt graceful closure via GOAWAY.- Returns:
this
.
-
flushPreface
public Http2ConnectionHandlerBuilder flushPreface(boolean flushPreface)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Determine if the Preface should be automatically flushed when theChannel
becomes active or not.Client may choose to opt-out from this automatic behavior and manage flush manually if it's ready to send request frames immediately after the preface. It may help to avoid unnecessary latency.
- Overrides:
flushPreface
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
- Parameters:
flushPreface
-true
to automatically flush,false otherwise
.- Returns:
this
.- See Also:
- HTTP/2 Connection Preface
-
build
public Http2ConnectionHandler build()
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Create a newHttp2ConnectionHandler
.- Overrides:
build
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
build
protected Http2ConnectionHandler build(Http2ConnectionDecoder decoder, Http2ConnectionEncoder encoder, Http2Settings initialSettings)
Description copied from class:AbstractHttp2ConnectionHandlerBuilder
Implement this method to create a newHttp2ConnectionHandler
or its subtype instance.The return of this method will be subject to the following:
AbstractHttp2ConnectionHandlerBuilder.frameListener(Http2FrameListener)
will be set if not already set in the decoderAbstractHttp2ConnectionHandlerBuilder.gracefulShutdownTimeoutMillis(long)
will always be set
- Specified by:
build
in classAbstractHttp2ConnectionHandlerBuilder<Http2ConnectionHandler,Http2ConnectionHandlerBuilder>
-
-