@UnstableApi public class Http2MultiplexCodecBuilder extends AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
Http2MultiplexCodec
.Modifier and Type | Method and Description |
---|---|
Http2MultiplexCodec |
build()
Create a new
Http2ConnectionHandler . |
protected Http2MultiplexCodec |
build(Http2ConnectionDecoder decoder,
Http2ConnectionEncoder encoder,
Http2Settings initialSettings)
Implement this method to create a new
Http2ConnectionHandler or its subtype instance. |
boolean |
encoderEnforceMaxConcurrentStreams()
Returns if the encoder should queue frames if the maximum number of concurrent streams
would otherwise be exceeded.
|
Http2MultiplexCodecBuilder |
encoderEnforceMaxConcurrentStreams(boolean encoderEnforceMaxConcurrentStreams)
Sets if the encoder should queue frames if the maximum number of concurrent streams
would otherwise be exceeded.
|
Http2MultiplexCodecBuilder |
encoderIgnoreMaxHeaderListSize(boolean ignoreMaxHeaderListSize)
Sets if the SETTINGS_MAX_HEADER_LIST_SIZE
should be ignored when encoding headers.
|
static Http2MultiplexCodecBuilder |
forClient(io.netty.channel.ChannelHandler childHandler)
Creates a builder for a HTTP/2 client.
|
static Http2MultiplexCodecBuilder |
forServer(io.netty.channel.ChannelHandler childHandler)
Creates a builder for a HTTP/2 server.
|
Http2FrameLogger |
frameLogger()
Returns the logger that is used for the encoder and decoder.
|
Http2MultiplexCodecBuilder |
frameLogger(Http2FrameLogger frameLogger)
Sets the logger that is used for the encoder and decoder.
|
long |
gracefulShutdownTimeoutMillis()
Returns the graceful shutdown timeout of the
Http2Connection in milliseconds. |
Http2MultiplexCodecBuilder |
gracefulShutdownTimeoutMillis(long gracefulShutdownTimeoutMillis)
Sets the graceful shutdown timeout of the
Http2Connection in milliseconds. |
Http2HeadersEncoder.SensitivityDetector |
headerSensitivityDetector()
Returns the
Http2HeadersEncoder.SensitivityDetector to use. |
Http2MultiplexCodecBuilder |
headerSensitivityDetector(Http2HeadersEncoder.SensitivityDetector headerSensitivityDetector)
Sets the
Http2HeadersEncoder.SensitivityDetector to use. |
Http2MultiplexCodecBuilder |
initialHuffmanDecodeCapacity(int initialHuffmanDecodeCapacity)
Sets the initial size of an intermediate buffer used during HPACK huffman decoding.
|
Http2Settings |
initialSettings()
Sets the
Http2Settings to use for the initial connection settings exchange. |
Http2MultiplexCodecBuilder |
initialSettings(Http2Settings settings)
Sets the
Http2Settings to use for the initial connection settings exchange. |
boolean |
isServer()
Returns if
AbstractHttp2ConnectionHandlerBuilder.build() will to create a Http2Connection in server mode (true )
or client mode (false ). |
boolean |
isValidateHeaders()
Returns if HTTP headers should be validated according to
RFC 7540, 8.1.2.6.
|
int |
maxReservedStreams()
Get the maximum number of streams which can be in the reserved state at any given time.
|
Http2MultiplexCodecBuilder |
maxReservedStreams(int maxReservedStreams)
Set the maximum number of streams which can be in the reserved state at any given time.
|
Http2MultiplexCodecBuilder |
validateHeaders(boolean validateHeaders)
Sets if HTTP headers should be validated according to
RFC 7540, 8.1.2.6.
|
Http2MultiplexCodecBuilder |
withUpgradeStreamHandler(io.netty.channel.ChannelHandler upgradeStreamHandler) |
codec, connection, connection, decoder, encoder, frameListener, frameListener, self, server
public static Http2MultiplexCodecBuilder forClient(io.netty.channel.ChannelHandler childHandler)
childHandler
- the handler added to channels for remotely-created streams. It must be
ChannelHandler.Sharable
.public static Http2MultiplexCodecBuilder forServer(io.netty.channel.ChannelHandler childHandler)
childHandler
- the handler added to channels for remotely-created streams. It must be
ChannelHandler.Sharable
.public Http2Settings initialSettings()
AbstractHttp2ConnectionHandlerBuilder
Http2Settings
to use for the initial connection settings exchange.public Http2MultiplexCodecBuilder initialSettings(Http2Settings settings)
AbstractHttp2ConnectionHandlerBuilder
Http2Settings
to use for the initial connection settings exchange.public long gracefulShutdownTimeoutMillis()
AbstractHttp2ConnectionHandlerBuilder
Http2Connection
in milliseconds. Returns -1 if the
timeout is indefinite.public Http2MultiplexCodecBuilder gracefulShutdownTimeoutMillis(long gracefulShutdownTimeoutMillis)
AbstractHttp2ConnectionHandlerBuilder
Http2Connection
in milliseconds.public Http2MultiplexCodecBuilder withUpgradeStreamHandler(io.netty.channel.ChannelHandler upgradeStreamHandler)
public boolean isServer()
AbstractHttp2ConnectionHandlerBuilder
AbstractHttp2ConnectionHandlerBuilder.build()
will to create a Http2Connection
in server mode (true
)
or client mode (false
).isServer
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
public int maxReservedStreams()
AbstractHttp2ConnectionHandlerBuilder
By default this value will be ignored on the server for local endpoint. This is because the RFC provides no way to explicitly communicate a limit to how many states can be in the reserved state, and instead relies on the peer to send RST_STREAM frames when they will be rejected.
public Http2MultiplexCodecBuilder maxReservedStreams(int maxReservedStreams)
AbstractHttp2ConnectionHandlerBuilder
public boolean isValidateHeaders()
AbstractHttp2ConnectionHandlerBuilder
public Http2MultiplexCodecBuilder validateHeaders(boolean validateHeaders)
AbstractHttp2ConnectionHandlerBuilder
public Http2FrameLogger frameLogger()
AbstractHttp2ConnectionHandlerBuilder
frameLogger
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
Http2FrameLogger
if set, or null
if not set.public Http2MultiplexCodecBuilder frameLogger(Http2FrameLogger frameLogger)
AbstractHttp2ConnectionHandlerBuilder
frameLogger
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
public boolean encoderEnforceMaxConcurrentStreams()
AbstractHttp2ConnectionHandlerBuilder
public Http2MultiplexCodecBuilder encoderEnforceMaxConcurrentStreams(boolean encoderEnforceMaxConcurrentStreams)
AbstractHttp2ConnectionHandlerBuilder
public Http2HeadersEncoder.SensitivityDetector headerSensitivityDetector()
AbstractHttp2ConnectionHandlerBuilder
Http2HeadersEncoder.SensitivityDetector
to use.public Http2MultiplexCodecBuilder headerSensitivityDetector(Http2HeadersEncoder.SensitivityDetector headerSensitivityDetector)
AbstractHttp2ConnectionHandlerBuilder
Http2HeadersEncoder.SensitivityDetector
to use.public Http2MultiplexCodecBuilder encoderIgnoreMaxHeaderListSize(boolean ignoreMaxHeaderListSize)
AbstractHttp2ConnectionHandlerBuilder
encoderIgnoreMaxHeaderListSize
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
ignoreMaxHeaderListSize
- true
to ignore
SETTINGS_MAX_HEADER_LIST_SIZE.public Http2MultiplexCodecBuilder initialHuffmanDecodeCapacity(int initialHuffmanDecodeCapacity)
AbstractHttp2ConnectionHandlerBuilder
initialHuffmanDecodeCapacity
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
initialHuffmanDecodeCapacity
- initial size of an intermediate buffer used during HPACK huffman decoding.public Http2MultiplexCodec build()
AbstractHttp2ConnectionHandlerBuilder
Http2ConnectionHandler
.build
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
protected Http2MultiplexCodec build(Http2ConnectionDecoder decoder, Http2ConnectionEncoder encoder, Http2Settings initialSettings)
AbstractHttp2ConnectionHandlerBuilder
Http2ConnectionHandler
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 setbuild
in class AbstractHttp2ConnectionHandlerBuilder<Http2MultiplexCodec,Http2MultiplexCodecBuilder>
Copyright © 2008–2019 The Netty Project. All rights reserved.