B - the type of the QuicCodecBuilder.public abstract class QuicCodecBuilder<B extends QuicCodecBuilder<B>>
extends java.lang.Object
QUIC codec builders.| Modifier and Type | Method and Description |
|---|---|
B |
ackDelayExponent(long value)
|
B |
activeConnectionIdLimit(long limit)
Allows to configure the
active connect id limit that should be used. |
B |
activeMigration(boolean enable)
|
io.netty.channel.ChannelHandler |
build()
Builds the QUIC codec that should be added to the
ChannelPipeline of the underlying
Channel which is used as transport for QUIC. |
protected abstract io.netty.channel.ChannelHandler |
build(io.netty.incubator.codec.quic.QuicheConfig config,
java.util.function.Function<QuicChannel,? extends QuicSslEngine> sslContextProvider,
java.util.concurrent.Executor sslTaskExecutor,
int localConnIdLength,
FlushStrategy flushStrategy)
Builds the QUIC codec.
|
abstract B |
clone()
Clone the builder
|
B |
congestionControlAlgorithm(QuicCongestionControlAlgorithm congestionControlAlgorithm)
Sets the congestion control algorithm to use.
|
B |
datagram(int recvQueueLen,
int sendQueueLen)
If configured this will enable
Datagram support.
|
B |
flushStrategy(FlushStrategy flushStrategy)
Sets the
FlushStrategy that will be used to detect when an automatic flush
should happen. |
B |
grease(boolean enable)
Set if greasing should be enabled
or not.
|
B |
hystart(boolean enable)
See
enable_hystart.
|
B |
initialMaxData(long value)
See
set_initial_max_data.
|
B |
initialMaxStreamDataBidirectionalLocal(long value)
|
B |
initialMaxStreamDataBidirectionalRemote(long value)
|
B |
initialMaxStreamDataUnidirectional(long value)
|
B |
initialMaxStreamsBidirectional(long value)
|
B |
initialMaxStreamsUnidirectional(long value)
|
B |
localConnectionIdLength(int value)
Sets the local connection id length that is used.
|
B |
maxAckDelay(long amount,
java.util.concurrent.TimeUnit unit)
See
set_max_ack_delay.
|
B |
maxIdleTimeout(long amount,
java.util.concurrent.TimeUnit unit)
See
set_max_idle_timeout.
|
B |
maxRecvUdpPayloadSize(long size)
|
B |
maxSendUdpPayloadSize(long size)
|
protected B |
self()
Returns itself.
|
B |
sslContext(QuicSslContext sslContext)
|
B |
sslEngineProvider(java.util.function.Function<QuicChannel,? extends QuicSslEngine> sslEngineProvider)
|
B |
sslTaskExecutor(java.util.concurrent.Executor sslTaskExecutor)
Allow to configure a
Executor that will be used to run expensive SSL operations. |
B |
statelessResetToken(byte[] token)
Allows to configure the
active connect id limit that should be used. |
protected void |
validate()
Validate the configuration before building the codec.
|
B |
version(int version)
Allows to configure the
QUIC version that should be used. |
protected final B self()
public final B flushStrategy(FlushStrategy flushStrategy)
FlushStrategy that will be used to detect when an automatic flush
should happen.flushStrategy - the strategy to use.public final B congestionControlAlgorithm(QuicCongestionControlAlgorithm congestionControlAlgorithm)
QuicCongestionControlAlgorithm.CUBIC.congestionControlAlgorithm - the QuicCongestionControlAlgorithm to use.public final B grease(boolean enable)
true.enable - true if enabled, false otherwise.public final B maxIdleTimeout(long amount, java.util.concurrent.TimeUnit unit)
amount - the maximum idle timeout.unit - the TimeUnit.public final B maxSendUdpPayloadSize(long size)
size - the maximum payload size that is advertised to the remote peer.public final B maxRecvUdpPayloadSize(long size)
size - the maximum payload size that is advertised to the remote peer.public final B initialMaxData(long value)
value - the initial maximum data limit.public final B initialMaxStreamDataBidirectionalLocal(long value)
value - the initial maximum data limit for local bidirectional streams.public final B initialMaxStreamDataBidirectionalRemote(long value)
value - the initial maximum data limit for remote bidirectional streams.public final B initialMaxStreamDataUnidirectional(long value)
value - the initial maximum data limit for unidirectional streams.public final B initialMaxStreamsBidirectional(long value)
value - the initial maximum stream limit for bidirectional streams.public final B initialMaxStreamsUnidirectional(long value)
value - the initial maximum stream limit for unidirectional streams.public final B ackDelayExponent(long value)
value - the delay exponent used for ACKs.public final B maxAckDelay(long amount, java.util.concurrent.TimeUnit unit)
amount - the max ack delay.unit - the TimeUnit.public final B activeMigration(boolean enable)
true.enable - true if migration should be enabled, false otherwise.public final B hystart(boolean enable)
true.enable - true if Hystart should be enabled.public final B localConnectionIdLength(int value)
value - the length of local generated connections ids.public final B version(int version)
QUIC version that should be used.
The default value is the latest supported version by the underlying library.version - the QUIC version to use.public final B datagram(int recvQueueLen, int sendQueueLen)
recvQueueLen - the RECV queue length.sendQueueLen - the SEND queue length.public final B sslContext(QuicSslContext sslContext)
QuicSslContext that will be used to create QuicSslEngines for QuicChannels.
If you need a more flexible way to provide QuicSslEngines use sslEngineProvider(Function).sslContext - the context.public final B sslEngineProvider(java.util.function.Function<QuicChannel,? extends QuicSslEngine> sslEngineProvider)
sslEngineProvider - the provider.public final B sslTaskExecutor(java.util.concurrent.Executor sslTaskExecutor)
Executor that will be used to run expensive SSL operations.sslTaskExecutor - the Executor that will be used to offload expensive SSL operations.public final B activeConnectionIdLimit(long limit)
active connect id limit that should be used.limit - the limit to use.public final B statelessResetToken(byte[] token)
active connect id limit that should be used.token - the token to use.protected void validate()
public final io.netty.channel.ChannelHandler build()
ChannelPipeline of the underlying
Channel which is used as transport for QUIC.ChannelHandler which acts as QUIC codec.public abstract B clone()
clone in class java.lang.Objectprotected abstract io.netty.channel.ChannelHandler build(io.netty.incubator.codec.quic.QuicheConfig config,
java.util.function.Function<QuicChannel,? extends QuicSslEngine> sslContextProvider,
java.util.concurrent.Executor sslTaskExecutor,
int localConnIdLength,
FlushStrategy flushStrategy)
config - the QuicheConfig that should be used.sslContextProvider - the context providersslTaskExecutor - the Executor to use.localConnIdLength - the local connection id length.flushStrategy - the FlushStrategy that should be used.ChannelHandler which acts as codec.Copyright © 2020-2024 The Netty Project. All Rights Reserved.