private ChannelFuture setupServerBootstrap(
            NamedSocketAddress listenAddress, ChannelInitializer<?> channelInitializer) {
        ServerBootstrap serverBootstrap =
                new ServerBootstrap().group(serverGroup.clientToProxyBossPool, serverGroup.clientToProxyWorkerPool);

        LOG.info("Proxy listening with {}", serverGroup.channelType);
        serverBootstrap.channel(serverGroup.channelType);

        serverBootstrap.option(ChannelOption.SO_BACKLOG, 128);
        serverBootstrap.childOption(ChannelOption.SO_LINGER, -1);
        serverBootstrap.childOption(ChannelOption.TCP_NODELAY, true);
        serverBootstrap.childOption(ChannelOption.SO_KEEPALIVE, true);

        // Apply transport specific socket options.
        for (Map.Entry<ChannelOption<?>, ?> optionEntry : serverGroup.transportChannelOptions.entrySet()) {
            serverBootstrap = serverBootstrap.option((ChannelOption) optionEntry.getKey(), optionEntry.getValue());
        }

        serverBootstrap.handler(new NewConnHandler());
        serverBootstrap.childHandler(channelInitializer);
        serverBootstrap.validate();

        LOG.info("Binding to : {}", listenAddress);

        if (MANUAL_DISCOVERY_STATUS.get()) {
            // Flag status as UP just before binding to the port.
            serverStatusManager.localStatus(InstanceInfo.InstanceStatus.UP);
        }

        // Bind and start to accept incoming connections.
        ChannelFuture bindFuture = serverBootstrap.bind(listenAddress.unwrap());

        try {
            return bindFuture.sync();
        } catch (Exception e) {
            // sync() sneakily throws a checked Exception, but doesn't declare it. This can happen if there is a bind
            // failure, which is typically an IOException.  Just chain it and rethrow.
            throw new RuntimeException("Failed to bind on addr " + listenAddress, e);
        }
    }
Use {@link #Server(Registry, ServerStatusManager, Map, ClientConnectionsShutdown, EventLoopGroupMetrics,
EventLoopConfig)}
instead.
zuul-core/src/main/java/com/netflix/zuul/netty/server/Server.java