public InetSocketAddress start(InetSocketAddress realSvr) throws IOException, InterruptedException {
		int port = 0;
	    log.info("Starting server");
		clientSideChanMgr.start();
		serverSideChanMgr.start();
		InetAddress loopBack = InetAddress.getByName("127.0.0.1");
		
		acceptor = new DelayServerAcceptor(clientSideChanMgr, loopBack, realSvr);
		InetSocketAddress svrAddr = new InetSocketAddress(loopBack, port);		
		srvrChannel = serverSideChanMgr.createTCPServerChannel("ProxySvrChannel", null);
		srvrChannel.setReuseAddress(true);
		srvrChannel.bind(svrAddr);	
		srvrChannel.registerServerSocketChannel(acceptor);
		
		return srvrChannel.getLocalAddress();
	}