Exemplo n.º 1
0
        /* public static int getBoundary(){
         * foreach(MsgBlock msg in Node.traffic){
         *     if (String.Equals(msg.tok, "1") || String.Equals(msg.tok, "3"))
         *         return msg.logicalTime;
         * }
         * return -1;
         * }*/

        public static void DeliverMessage()
        {
            if (Node.traffic.boundary < 0)
            {
                return;
            }

            MsgBlock msg;
            bool     pass = true;

            while (Node.traffic.Count() > 0 && pass)
            {
                msg = Node.traffic.Peek();
                if (msg.logicalTime > Node.traffic.boundary)
                {
                    break;
                }
                if (String.Equals(msg.tok, "1") || String.Equals(msg.tok, "3"))
                {
                    //boundary = msg.logicalTime;
                    Node.traffic.boundary = -1;
                    pass = false;
                }
                msg = Node.traffic.Dequeue();
                string destPort = Node.confData[msg.to].ToString();
                string message  = msg.ToString();
                DavidNet.sendData("http://localhost:" + destPort, message);
                Console.WriteLine($"... {msg.time} 0 < {msg.from} {msg.to} {msg.tok} {msg.pay}");
            }
        }
Exemplo n.º 2
0
        //Console.WriteLine(uri.GetType());
        public static void NoDelayTest(string[] data_list)
        {
            //data_list[0] = data_list[0].Substring(0,data_list[0].Length -1);

            string message  = String.Join(" ", data_list);
            string destPort = Node.confData[data_list[2]].ToString();

            DavidNet.sendData("http://localhost:" + destPort, message);
            Console.WriteLine($"... {data_list[0]} 0 < {data_list[1]} {data_list[2]} {data_list[3]} {data_list[4]}");
        }
Exemplo n.º 3
0
 public static void releaseMessage(string from, string to)
 {
     while (Node.traffic.Count() > 0)
     {
         MsgBlock msg      = Node.traffic.Dequeue();
         string   destPort = Node.confData[msg.to].ToString();
         string   message  = msg.ToString();
         DavidNet.sendData("http://localhost:" + destPort, message);
         Console.WriteLine($"... {msg.time} 0 < {msg.from} {msg.to} {msg.tok} {msg.pay}");
         if (String.Equals(msg.from, from) && String.Equals(msg.to, to))
         {
             //Console.WriteLine("111");
             return;
         }
     }
 }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            HostConfiguration hostConfigs = new HostConfiguration()
            {
                UrlReservations = new UrlReservations()
                {
                    CreateAutomatically = true
                }
            };


            ReadFile(args[0]);
            //Console.WriteLine(Node.confData["-"]);
            Node.myPort = Node.confData["0"] + "";
            using (var host = new NancyHost(new Uri("http://localhost:" + Node.myPort), new DefaultNancyBootstrapper(), hostConfigs)) {
                host.Start();

                Console.WriteLine("Running on http://localhost:" + Node.myPort); //Start sending message;
                string portNumber = Node.confData["1"].ToString();
                string ThisNode   = Node.nodeNum;
                string time       = "0";
                string from       = "0";
                string to         = "1";
                string tok        = "1";
                string pay        = "0";
                string message    = string.Format("{0} {1} {2} {3} {4}", time, from, to, tok, pay);
                DavidNet.sendData("http://localhost:" + portNumber, message);
                Console.WriteLine($"... 0 0 < {from} {to} {tok} {pay}");

                /*var startTimeSpan = new TimeSpan(0);
                 * var periodTimeSpan = TimeSpan.FromSeconds(5);
                 *
                 * var timer = new System.Threading.Timer((e) =>
                 * {
                 * DeliverMessage();
                 * }, null, startTimeSpan, periodTimeSpan);*/
                Console.ReadLine();
            }

            //Console.WriteLine("The file name is: " + confData[2]);
            //Console.ReadLine();
        }