private ServerBootstrap getServerBootstrap ( final boolean useSSL ) { final CommandInvoker invoker = new CommandInvoker ( pluginRepository , commandRepository , acceptParams , getExecutionContext ( ) ) ; final ServerBootstrap serverBootstrap = new ServerBootstrap ( ) ; serverBootstrap . group ( bossGroup , workerGroup ) . channel ( NioServerSocketChannel . class ) . childHandler ( new ChannelInitializer < SocketChannel > ( ) { @ Override public void initChannel ( final SocketChannel ch ) throws Exception { if ( useSSL ) { final SSLEngine engine = getSSLEngine ( ) ; engine . setEnabledCipherSuites ( engine . getSupportedCipherSuites ( ) ) ; engine . setUseClientMode ( false ) ; engine . setNeedClientAuth ( false ) ; ch . pipeline ( ) . addLast ( "ssl" , new SslHandler ( engine ) ) ; } ch . pipeline ( ) . addLast ( new JNRPERequestDecoder ( ) , new JNRPEResponseEncoder ( ) , new JNRPEServerHandler ( invoker , context ) ) . addLast ( "idleStateHandler" , new IdleStateHandler ( readTimeout , writeTimeout , 0 ) ) . addLast ( "jnrpeIdleStateHandler" , new JNRPEIdleStateHandler ( context ) ) ; } } ) . option ( ChannelOption . SO_BACKLOG , maxAcceptedConnections ) . childOption ( ChannelOption . SO_KEEPALIVE , Boolean . TRUE ) ; return serverBootstrap ; }
Creates and returns a configured NETTY ServerBootstrap object .