package com.ctriposs.baiji.rpc.server.netty; import com.ctriposs.baiji.rpc.server.HttpRequestRouter; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; public class NonBlockingHttpServerBuilder extends HttpServerBuilder<NonBlockingHttpServerBuilder, NonBlockingHttpServer> { private int _selectorCount; private int _executorThreadCount; public NonBlockingHttpServerBuilder(int serverPort) { super(serverPort); } public NonBlockingHttpServerBuilder withSelectorCount(int selectorCount) { this._selectorCount = selectorCount; return this; } public NonBlockingHttpServerBuilder requestRouter(HttpRequestRouter requestRouter, int executorThreadCount) { this._requestRouter = requestRouter; this._executorThreadCount = executorThreadCount; return this; } @Override protected NonBlockingHttpServer createServer() { return new NonBlockingHttpServer(_nettyBootstrap, _requestRouter, _executorThreadCount); } @Override protected void configureBootstrap() { _nettyBootstrap.group(new NioEventLoopGroup(_selectorCount)) .channel(NioServerSocketChannel.class); } }