protected NIOTransport configureTCPTransport(final Transport transportConfig) { final TCPNIOTransport tcpTransport = configureDefaultThreadPoolConfigs(TCPNIOTransportBuilder.newInstance().build()); tcpTransport.setTcpNoDelay(Boolean.parseBoolean(transportConfig.getTcpNoDelay())); tcpTransport.setLinger(Integer.parseInt(transportConfig.getLinger())); tcpTransport.setWriteTimeout( Long.parseLong(transportConfig.getWriteTimeoutMillis()), TimeUnit.MILLISECONDS); tcpTransport.setReadTimeout( Long.parseLong(transportConfig.getReadTimeoutMillis()), TimeUnit.MILLISECONDS); tcpTransport.setServerConnectionBackLog( Integer.parseInt(transportConfig.getMaxConnectionsCount())); return tcpTransport; }
private HttpServer createHttpServer() { final HttpServer server = new HttpServer(); final int requestSize = (int) currentConfig.getMaxRequestSize(); final ServerConfiguration serverConfig = server.getServerConfiguration(); serverConfig.setMaxBufferedPostSize(requestSize); serverConfig.setMaxFormPostSize(requestSize); serverConfig.setDefaultQueryEncoding(Charsets.UTF8_CHARSET); if (keepStats()) { setHttpStatsProbe(server); } // Configure the network listener final NetworkListener listener = new NetworkListener( "Rest2LDAP", NetworkListener.DEFAULT_NETWORK_HOST, initConfig.getListenPort()); server.addListener(listener); // Configure the network transport final TCPNIOTransport transport = listener.getTransport(); transport.setReuseAddress(currentConfig.isAllowTCPReuseAddress()); transport.setKeepAlive(currentConfig.isUseTCPKeepAlive()); transport.setTcpNoDelay(currentConfig.isUseTCPNoDelay()); transport.setWriteTimeout(currentConfig.getMaxBlockedWriteTimeLimit(), TimeUnit.MILLISECONDS); final int bufferSize = (int) currentConfig.getBufferSize(); transport.setReadBufferSize(bufferSize); transport.setWriteBufferSize(bufferSize); transport.setIOStrategy(SameThreadIOStrategy.getInstance()); final int numRequestHandlers = getNumRequestHandlers(currentConfig.getNumRequestHandlers(), friendlyName); transport.setSelectorRunnersCount(numRequestHandlers); transport.setServerConnectionBackLog(currentConfig.getAcceptBacklog()); // Configure SSL if (sslEngineConfigurator != null) { listener.setSecure(true); listener.setSSLEngineConfig(sslEngineConfigurator); } return server; }