Class Router4<C extends io.netty.channel.Channel>
- java.lang.Object
-
- com.linkedin.alpini.router.impl.netty4.Router4<C>
-
- All Implemented Interfaces:
Router.Builder,Router.PipelineFactory<io.netty.channel.ChannelHandler>
public class Router4<C extends io.netty.channel.Channel> extends java.lang.Object implements Router.Builder, Router.PipelineFactory<io.netty.channel.ChannelHandler>
-
-
Field Summary
-
Fields inherited from interface com.linkedin.alpini.router.impl.Router.Builder
HANDSHAKE_TIMEOUT_MILLIS, MINIMUM_IDLE_TIMEOUT_MILLIS, MINIMUM_MAX_CHUNK_SIZE, MINIMUM_MAX_CONTENT_LENGTH, MINIMUM_MAX_HEADER_SIZE, MINIMUM_MAX_INITIAL_LINE_LENGTH
-
-
Constructor Summary
Constructors Constructor Description Router4(ScatterGatherHelper scatterGatherHelper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Router.PipelineFactory<io.netty.channel.ChannelHandler>addBeforeChunkAggregator(java.lang.String name, java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)Router.PipelineFactory<io.netty.channel.ChannelHandler>addBeforeHttpRequestHandler(java.lang.String name, java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)Router.PipelineFactory<io.netty.channel.ChannelHandler>addBeforeHttpServerCodec(java.lang.String name, java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)Router.PipelineFactory<io.netty.channel.ChannelHandler>addBeforeIdleStateHandler(java.lang.String name, java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)<T> Router.BuilderaddBootstrapFilter(java.util.function.Function<T,T> function)Router.BuilderappWorkerChannelMaxMemorySize(long maxChannelMemorySize)Router.BuilderappWorkerCorePoolSize(int corePoolSize)Router.BuilderappWorkerKeepAliveSeconds(long appWorkerKeepAliveSeconds)Router.BuilderappWorkerTotalMaxMemorySize(long maxTotalMemorySize)<CHANNEL_PIPELINE>
Router.BuilderbeforeChunkAggregator(java.lang.Class<CHANNEL_PIPELINE> pipelineClass, java.util.function.Consumer<CHANNEL_PIPELINE> consumer)<CHANNEL_PIPELINE>
Router.BuilderbeforeHttpRequestHandler(java.lang.Class<CHANNEL_PIPELINE> pipelineClass, java.util.function.Consumer<CHANNEL_PIPELINE> consumer)<CHANNEL_PIPELINE>
Router.BuilderbeforeHttpServerCodec(java.lang.Class<CHANNEL_PIPELINE> pipelineClass, java.util.function.Consumer<CHANNEL_PIPELINE> consumer)<CHANNEL_PIPELINE>
Router.BuilderbeforeIdleStateHandler(java.lang.Class<CHANNEL_PIPELINE> pipelineClass, java.util.function.Consumer<CHANNEL_PIPELINE> consumer)<POOL_TYPE>
Router.BuilderbossPoolBuilder(java.lang.Class<POOL_TYPE> poolClass, java.util.function.Function<java.util.concurrent.Executor,POOL_TYPE> builder)Router.BuilderbossPoolSize(int bossPoolSize)Routerbuild()Router.Builderbuilder()Router.BuilderconnectionLimit(int connectionLimit)Router.BuilderconnectionLimit(java.util.function.IntSupplier connectionLimit)Router.BuilderenableInboundHttp2(boolean enableHttp2)Router.Builderexecutor(java.util.concurrent.Executor executor)<R extends ShutdownableResource,F extends ResourceRegistry.Factory<R>>
Ffactory(java.lang.Class<F> clazz)Router.BuilderhandshakeTimeout(long time, java.util.concurrent.TimeUnit unit)Router.Builderhttp2HeaderTableSize(int http2HeaderTableSize)Router.Builderhttp2InitialWindowSize(int http2InitialWindowSize)Router.Builderhttp2MaxConcurrentStreams(int http2MaxConcurrentStreams)Router.Builderhttp2MaxFrameSize(int http2MaxFrameSize)Router.Builderhttp2MaxHeaderListSize(int http2MaxHeaderListSize)Router.BuilderidleTimeout(long time, java.util.concurrent.TimeUnit unit)<POOL_TYPE>
Router.BuilderioWorkerPoolBuilder(java.lang.Class<POOL_TYPE> poolClass, java.util.function.Function<java.util.concurrent.Executor,POOL_TYPE> builder)Router.BuilderioWorkerPoolSize(int ioWorkerPoolSize)Router.BuildermaxChunkSize(int maxChunkSize)Router.BuildermaxContentLength(long maxContentLength)Router.BuildermaxHeaderSize(int maxHeaderSize)Router.BuildermaxInitialLineLength(int maxInitialLineLength)Router.Buildername(java.lang.String name)NettynettyVersion()<CHANNEL_HANDLER>
Router.PipelineFactory<CHANNEL_HANDLER>pipelineFactory(java.lang.Class<CHANNEL_HANDLER> handlerClass)Router.BuilderresourceRegistry(ResourceRegistry resourceRegistry)Router.BuilderserverSocketChannel(java.lang.Class<?> serverSocketChannel)Router.BuilderserverSocketOptions(java.lang.String key, java.lang.Object value)Router.BuilderserverSocketOptions(java.util.Map<java.lang.String,java.lang.Object> serverSocketOptions)Router.BuilderthreadFactory(java.util.concurrent.ThreadFactory threadFactory)Router.BuildertimeoutProcessor(RouterTimeoutProcessor timeoutProcessor)Router.BuilderuseCustomMultiplexHandler(boolean useCustomMultiplexHandler)Router.BuilderworkerExecutor(java.util.concurrent.Executor workerExecutor)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.linkedin.alpini.router.impl.Router.Builder
timeoutProcessor
-
-
-
-
Constructor Detail
-
Router4
public Router4(@Nonnull ScatterGatherHelper scatterGatherHelper)
-
-
Method Detail
-
nettyVersion
public Netty nettyVersion()
- Specified by:
nettyVersionin interfaceRouter.Builder
-
name
public Router.Builder name(@Nonnull java.lang.String name)
- Specified by:
namein interfaceRouter.Builder
-
resourceRegistry
public Router.Builder resourceRegistry(@Nonnull ResourceRegistry resourceRegistry)
- Specified by:
resourceRegistryin interfaceRouter.Builder
-
threadFactory
public Router.Builder threadFactory(@Nonnull java.util.concurrent.ThreadFactory threadFactory)
- Specified by:
threadFactoryin interfaceRouter.Builder
-
serverSocketChannel
public Router.Builder serverSocketChannel(@Nonnull java.lang.Class<?> serverSocketChannel)
- Specified by:
serverSocketChannelin interfaceRouter.Builder
-
bossPoolSize
public Router.Builder bossPoolSize(int bossPoolSize)
- Specified by:
bossPoolSizein interfaceRouter.Builder
-
ioWorkerPoolSize
public Router.Builder ioWorkerPoolSize(int ioWorkerPoolSize)
- Specified by:
ioWorkerPoolSizein interfaceRouter.Builder
-
ioWorkerPoolBuilder
public <POOL_TYPE> Router.Builder ioWorkerPoolBuilder(@Nonnull java.lang.Class<POOL_TYPE> poolClass, @Nonnull java.util.function.Function<java.util.concurrent.Executor,POOL_TYPE> builder)
- Specified by:
ioWorkerPoolBuilderin interfaceRouter.Builder
-
bossPoolBuilder
public <POOL_TYPE> Router.Builder bossPoolBuilder(@Nonnull java.lang.Class<POOL_TYPE> poolClass, @Nonnull java.util.function.Function<java.util.concurrent.Executor,POOL_TYPE> builder)
- Specified by:
bossPoolBuilderin interfaceRouter.Builder
-
executor
public Router.Builder executor(@Nonnull java.util.concurrent.Executor executor)
- Specified by:
executorin interfaceRouter.Builder
-
workerExecutor
public Router.Builder workerExecutor(@Nonnull java.util.concurrent.Executor workerExecutor)
- Specified by:
workerExecutorin interfaceRouter.Builder
-
appWorkerCorePoolSize
public Router.Builder appWorkerCorePoolSize(int corePoolSize)
- Specified by:
appWorkerCorePoolSizein interfaceRouter.Builder
-
appWorkerChannelMaxMemorySize
public Router.Builder appWorkerChannelMaxMemorySize(long maxChannelMemorySize)
- Specified by:
appWorkerChannelMaxMemorySizein interfaceRouter.Builder
-
appWorkerTotalMaxMemorySize
public Router.Builder appWorkerTotalMaxMemorySize(long maxTotalMemorySize)
- Specified by:
appWorkerTotalMaxMemorySizein interfaceRouter.Builder
-
appWorkerKeepAliveSeconds
public Router.Builder appWorkerKeepAliveSeconds(long appWorkerKeepAliveSeconds)
- Specified by:
appWorkerKeepAliveSecondsin interfaceRouter.Builder
-
timeoutProcessor
public Router.Builder timeoutProcessor(@Nonnull RouterTimeoutProcessor timeoutProcessor)
- Specified by:
timeoutProcessorin interfaceRouter.Builder
-
connectionLimit
public Router.Builder connectionLimit(int connectionLimit)
- Specified by:
connectionLimitin interfaceRouter.Builder
-
connectionLimit
public Router.Builder connectionLimit(@Nonnull java.util.function.IntSupplier connectionLimit)
- Specified by:
connectionLimitin interfaceRouter.Builder
-
serverSocketOptions
public Router.Builder serverSocketOptions(java.util.Map<java.lang.String,java.lang.Object> serverSocketOptions)
- Specified by:
serverSocketOptionsin interfaceRouter.Builder
-
serverSocketOptions
public Router.Builder serverSocketOptions(@Nonnull java.lang.String key, java.lang.Object value)
- Specified by:
serverSocketOptionsin interfaceRouter.Builder
-
maxHeaderSize
public Router.Builder maxHeaderSize(@Nonnegative int maxHeaderSize)
- Specified by:
maxHeaderSizein interfaceRouter.Builder
-
maxInitialLineLength
public Router.Builder maxInitialLineLength(@Nonnegative int maxInitialLineLength)
- Specified by:
maxInitialLineLengthin interfaceRouter.Builder
-
maxChunkSize
public Router.Builder maxChunkSize(@Nonnegative int maxChunkSize)
- Specified by:
maxChunkSizein interfaceRouter.Builder
-
maxContentLength
public Router.Builder maxContentLength(@Nonnegative long maxContentLength)
- Specified by:
maxContentLengthin interfaceRouter.Builder
-
idleTimeout
public Router.Builder idleTimeout(@Nonnegative long time, @Nonnull java.util.concurrent.TimeUnit unit)
- Specified by:
idleTimeoutin interfaceRouter.Builder
-
handshakeTimeout
public Router.Builder handshakeTimeout(@Nonnegative long time, @Nonnull java.util.concurrent.TimeUnit unit)
- Specified by:
handshakeTimeoutin interfaceRouter.Builder
-
enableInboundHttp2
public Router.Builder enableInboundHttp2(boolean enableHttp2)
- Specified by:
enableInboundHttp2in interfaceRouter.Builder
-
useCustomMultiplexHandler
public Router.Builder useCustomMultiplexHandler(boolean useCustomMultiplexHandler)
- Specified by:
useCustomMultiplexHandlerin interfaceRouter.Builder
-
http2MaxConcurrentStreams
public Router.Builder http2MaxConcurrentStreams(int http2MaxConcurrentStreams)
- Specified by:
http2MaxConcurrentStreamsin interfaceRouter.Builder
-
http2MaxFrameSize
public Router.Builder http2MaxFrameSize(int http2MaxFrameSize)
- Specified by:
http2MaxFrameSizein interfaceRouter.Builder
-
http2InitialWindowSize
public Router.Builder http2InitialWindowSize(int http2InitialWindowSize)
- Specified by:
http2InitialWindowSizein interfaceRouter.Builder
-
http2HeaderTableSize
public Router.Builder http2HeaderTableSize(int http2HeaderTableSize)
- Specified by:
http2HeaderTableSizein interfaceRouter.Builder
-
http2MaxHeaderListSize
public Router.Builder http2MaxHeaderListSize(int http2MaxHeaderListSize)
- Specified by:
http2MaxHeaderListSizein interfaceRouter.Builder
-
addBootstrapFilter
public <T> Router.Builder addBootstrapFilter(java.util.function.Function<T,T> function)
- Specified by:
addBootstrapFilterin interfaceRouter.Builder
-
pipelineFactory
public <CHANNEL_HANDLER> Router.PipelineFactory<CHANNEL_HANDLER> pipelineFactory(@Nonnull java.lang.Class<CHANNEL_HANDLER> handlerClass)
- Specified by:
pipelineFactoryin interfaceRouter.Builder
-
beforeHttpServerCodec
public <CHANNEL_PIPELINE> Router.Builder beforeHttpServerCodec(@Nonnull java.lang.Class<CHANNEL_PIPELINE> pipelineClass, @Nonnull java.util.function.Consumer<CHANNEL_PIPELINE> consumer)
- Specified by:
beforeHttpServerCodecin interfaceRouter.Builder
-
beforeChunkAggregator
public <CHANNEL_PIPELINE> Router.Builder beforeChunkAggregator(@Nonnull java.lang.Class<CHANNEL_PIPELINE> pipelineClass, @Nonnull java.util.function.Consumer<CHANNEL_PIPELINE> consumer)
- Specified by:
beforeChunkAggregatorin interfaceRouter.Builder
-
beforeIdleStateHandler
public <CHANNEL_PIPELINE> Router.Builder beforeIdleStateHandler(@Nonnull java.lang.Class<CHANNEL_PIPELINE> pipelineClass, @Nonnull java.util.function.Consumer<CHANNEL_PIPELINE> consumer)
- Specified by:
beforeIdleStateHandlerin interfaceRouter.Builder
-
beforeHttpRequestHandler
public <CHANNEL_PIPELINE> Router.Builder beforeHttpRequestHandler(@Nonnull java.lang.Class<CHANNEL_PIPELINE> pipelineClass, @Nonnull java.util.function.Consumer<CHANNEL_PIPELINE> consumer)
- Specified by:
beforeHttpRequestHandlerin interfaceRouter.Builder
-
addBeforeHttpServerCodec
public Router.PipelineFactory<io.netty.channel.ChannelHandler> addBeforeHttpServerCodec(@Nonnull java.lang.String name, @Nonnull java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)
- Specified by:
addBeforeHttpServerCodecin interfaceRouter.PipelineFactory<C extends io.netty.channel.Channel>
-
addBeforeChunkAggregator
public Router.PipelineFactory<io.netty.channel.ChannelHandler> addBeforeChunkAggregator(@Nonnull java.lang.String name, @Nonnull java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)
- Specified by:
addBeforeChunkAggregatorin interfaceRouter.PipelineFactory<C extends io.netty.channel.Channel>
-
addBeforeIdleStateHandler
public Router.PipelineFactory<io.netty.channel.ChannelHandler> addBeforeIdleStateHandler(@Nonnull java.lang.String name, @Nonnull java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)
- Specified by:
addBeforeIdleStateHandlerin interfaceRouter.PipelineFactory<C extends io.netty.channel.Channel>
-
addBeforeHttpRequestHandler
public Router.PipelineFactory<io.netty.channel.ChannelHandler> addBeforeHttpRequestHandler(@Nonnull java.lang.String name, @Nonnull java.util.function.Supplier<? extends io.netty.channel.ChannelHandler> supplier)
- Specified by:
addBeforeHttpRequestHandlerin interfaceRouter.PipelineFactory<C extends io.netty.channel.Channel>
-
builder
public Router.Builder builder()
- Specified by:
builderin interfaceRouter.PipelineFactory<C extends io.netty.channel.Channel>
-
factory
public <R extends ShutdownableResource,F extends ResourceRegistry.Factory<R>> F factory(@Nonnull java.lang.Class<F> clazz)
-
build
public Router build()
- Specified by:
buildin interfaceRouter.Builder
-
-