Beispiel #1
0
        public override void Start()
        {
            _channels = new DefaultChannelGroup();

            // Listen for incoming connections
            _nioChannelFactory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(daemon("Cluster boss", _monitor)), Executors.newFixedThreadPool(2, daemon("Cluster worker", _monitor)), 2);
            _serverBootstrap   = new ServerBootstrap(_nioChannelFactory);
            _serverBootstrap.setOption("child.tcpNoDelay", true);
            _serverBootstrap.PipelineFactory = new NetworkNodePipelineFactory(this);

            int[] ports = _config.clusterServer().Ports;

            int minPort = ports[0];
            int maxPort = ports.Length == 2 ? ports[1] : minPort;

            // Try all ports in the given range
            _port = Listen(minPort, maxPort);

            _msgLog.debug("Started NetworkReceiver at " + _config.clusterServer().Host + ":" + _port);
        }