/// <summary>
        /// This is the main client loop that will process the following:
        /// 1. client side requests for contacting server
        /// 2. client side requests for contacting other peers (e.g. search)
        /// 3. peer requests for processing
        /// 4. server requests for processing
        /// </summary>
        private void routeEntropyMessages()
        {
            RRLib.handleConnection processIncoming = new RRLib.handleConnection(processInboundRequests);
            User user = User.getInstance();
            IPEndPoint listenPort = user.node.asyncCommunicationPoint;

            NetLib.listenAndCommunicateAsync(listenPort, processIncoming);
        }
 private void serverInternal()
 {
     RRLib.handleConnection clientProcessor = new RRLib.handleConnection(process);
     NetLib.listenAndCommunicate(Constants.SERVER,  clientProcessor);
 }
        private void processControlPlaneMessages()
        {
            RRLib.handleConnection processControlPlane = new RRLib.handleConnection(processControlPlaneRequests);
            User user = User.getInstance();
            IPEndPoint listenPort = user.node.syncCommunicationPoint;

            //long live the loop
            while(true)
            {
                NetLib.listenAndCommunicate(listenPort, processControlPlane);
            }
        }