connector.setConnectTimeout( configuration.getResponseTimeout() );
connectorConfig.setConnectTimeout( configuration.getResponseTimeout() );
        public void run()        {            if( con.delay > 0 )            {                log.info( "[" + replica + "] Waiting for " + con.delay + " seconds to reconnect." );                try                {                    Thread.sleep( con.delay * 1000L );                }                catch( InterruptedException e )                {                }            }                        log.info( "[" + replica + "] Connecting..." );            IoSession session;            try            {                connector.setConnectTimeout( configuration.getResponseTimeout() );                ConnectFuture future = connector.connect(                        replica.getAddress(),                        new ReplicationClientProtocolHandler( service ) );                                future.join();                session = future.getSession();                synchronized( con )                {                    con.session = session;                    con.delay = -1; // reset delay                    con.inProgress = false;                }            }            catch( IOException e )            {                log.warn("[" + replica + "] Failed to connect.", e );            }            finally            {                synchronized( con )                {                    con.inProgress = false;                    con.connector = null;                }            }        }