public void sendEachRequest(XElement request, TestExec clnt, Message msg, Sender sndr, Receiver rcvr, MessageMaker testExecInput)
 {//send each request to construct xml request message and send it to the server
     msg = new Message();
     msg = testExecInput.makeMessage(clnt.localUrl, clnt.remoteUrl, request);
     if (!sndr.Connect(msg.toUrl))
     {
         Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
         sndr.shutdown();
         rcvr.shutDown();
         return;
     }
     while (true)
     {
         //msg.content = "Message #" + (++counter).ToString();
         Console.Write("\n============Start of the Message==========\n");
         Console.Write("\n  Sending Message:");
         Console.Write("\n==========================\n");
         Console.WriteLine(msg.content);
         Console.WriteLine("==================End of Message===============");
         if (!sndr.sendMessage(msg))
         {
             return;
         }
         Thread.Sleep(100);
         break;
     }
 }
Esempio n. 2
0
 private void sendMessageToServer(IEnumerable <XElement> results, HiResTimer timer,
                                  MessageMaker msgMaker, Sender sndr, Receiver rcvr)
 {
     timer.Start();
     foreach (var eachInput in results)
     {
         Message msg = new Message();
         msg = msgMaker.makeMessage(this.localUrl, this.remoteUrl, eachInput);
         if (!sndr.Connect(msg.toUrl))
         {
             Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
             sndr.shutdown();
             rcvr.shutDown();
             return;
         }
         "Message sent".endofTest();
         "Content".title();
         Console.Write("\n\n{0}\n", msg.content);
         "End of message".endofTest();
         while (true)
         {
             if (sndr.sendMessage(msg))
             {
                 Thread.Sleep(200);
                 break;
             }
         }
         sndr.SendReaderLatency(rcvr.totalExecutionTime / rcvr.count);
         sndr.SendWriterLatency(rcvr.totalExecutionTime / rcvr.count);
     }
 }
Esempio n. 3
0
        public void send_wpf_final(Sender sndr, string localport)
        {
            // Console.WriteLine("Inside send loop");
            Message wpf_message = new Message();

            wpf_message.fromUrl = localUrl;
            wpf_message.toUrl   = "http://localhost:8081/CommService";
            if (!sndr.Connect(wpf_message.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                return;
            }
            foreach (string k in diction.Keys)
            {
                wpf_message = new Message();
                //string msg2 = "Write Client(" + localport + "): Average latency time for " + k + " operations = " + diction[k].Average() + " milliseconds";
                if (diction[k].Count > 0)
                {
                    string msg2 = "Read Client(" + localport + "): Average latency time for " + diction[k].Count + " " + k + " operations = " + diction[k].Average() + " milliseconds";
                    wpf_message.fromUrl = localUrl;
                    wpf_message.toUrl   = "http://localhost:8081/CommService";
                    wpf_message.content = msg2;
                    sndr.sendMessage(wpf_message);
                }
            }
            //foreach
        }
Esempio n. 4
0
 public void sendEachRequest(XElement request,TestExec clnt, Message msg, Sender sndr, Receiver rcvr, MessageMaker testExecInput)
 {//send each request to construct xml request message and send it to the server
     msg = new Message();
     msg = testExecInput.makeMessage(clnt.localUrl, clnt.remoteUrl, request);
     if (!sndr.Connect(msg.toUrl))
     {
         Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
         sndr.shutdown();
         rcvr.shutDown();
         return;
     }
     while (true)
     {
         //msg.content = "Message #" + (++counter).ToString();
         Console.Write("\n============Start of the Message==========\n");
         Console.Write("\n  Sending Message:");
         Console.Write("\n==========================\n");
         Console.WriteLine(msg.content);
         Console.WriteLine("==================End of Message===============");
         if (!sndr.sendMessage(msg))
             return;
         Thread.Sleep(100);
         break;
     }
 }
        static void Main(string[] args)
        {
            Console.WriteLine("  The intent of the write client is to stress the database with write operations.");
            Console.WriteLine("  Write operations - Insert, Delete, Edit name, Edit Description and Add Children.");
            Console.WriteLine("\n  If log option is enabled, messsages are logged to this console window as they are sent.");
            Console.WriteLine("  If log is enabled result of response is displayed as responses are received from server.");
            Console.WriteLine("  If log option is disabled, only latency time for each operation is disaplyed on the console window.");
            Client clnt = new Client();

            clnt.processCommandLine(args);
            bool log_message = clnt.processCommandLineForWriteLog(args);

            if (log_message)
            {
                Console.WriteLine("  (Log option is Enabled for this client)");
            }
            else
            {
                Console.WriteLine("  (Log option is Disabled for this client)");
            }
            string   localPort = Util.urlPort(clnt.localUrl);
            string   localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr      = new Receiver(localPort, localAddr);
            string   win_title = "Write Client - " + localPort;

            Console.Title = win_title;
            Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message
            Action client_receive_action = clnt.define_receive_action(rcvr, sndr, log_message, localPort);

            if (rcvr.StartService())
            {
                rcvr.doService(client_receive_action);
            }
            Message msg = new Message();

            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;
            Console.WriteLine("\n\n  Starting CommService  Write client");
            Console.Write("  =============================");
            Console.Write("\n  Write client local url is {0}", msg.fromUrl);
            Console.Write("\n  Attempting to connect to server on {0}\n", msg.toUrl);
            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("\n  Could not connect to server in {0} attempts, closing application.", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }
            Console.WriteLine("\n  *****************************\n  Going to read messages present in XML file - Write_Client_XML.xml and send them sequentially to server.\n  *****************************");
            clnt.send_messages(sndr, msg, "./../../../../SavedXMLFiles/Write_Client_XML.xml", log_message);
            Thread.Sleep(100);
            msg.content = "done";
            sndr.sendMessage(msg);
            Util.waitForUser();
            // shut down this client's Receiver and Sender by sending close messages
            rcvr.shutDown();
            sndr.shutdown();
            Console.Write("\n\n");
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Thread.Sleep(2000);
            Console.Write("\n  starting CommService client");
            Console.Write("\n =============================\n");
            Console.Title = "Reader Client";
            Client clnt = new Client();

            clnt.processCommandLine(args);
            string   localPort = Util.urlPort(clnt.localUrl);
            string   localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr      = new Receiver(localPort, localAddr);

            if (rcvr.StartService())
            {
                rcvr.doService(rcvr.defaultServiceAction());
            }
            Sender  sndr = new Sender(clnt.localUrl); // Sender needs localUrl for start message
            Message msg  = new Message();

            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;
            Console.Write("\n  sender's url is {0}", msg.fromUrl);
            Console.Write("\n  attempting to connect to {0}\n", msg.toUrl);
            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }
            clnt.hrt.Start();
            rcvr.setTotalMessageSize(clnt.getMsgLen("XMLReader.xml"));
            clnt.readMsgTemplate("XMLReader.xml", sndr);
            while (true)
            {
                if (rcvr.getLastFlag())
                {
                    clnt.hrt.Stop();
                    break;
                }
            }
            ulong latency = clnt.hrt.ElapsedMicroseconds;

            clnt.travelLatency(latency, sndr);
            msg.content = "done";
            sndr.sendMessage(msg);
            // Wait for user to press a key to quit.
            // Ensures that client has gotten all server replies.
            Util.waitForUser();
            // shut down this client's Receiver and Sender by sending close messages
            rcvr.shutDown();
            sndr.shutdown();
            Console.Write("\n\n");
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            Console.WriteLine("  The intent of the demo client is to demonstarte that all the operations of Project-2 can be executed remotely.");
            Console.WriteLine("  All the request messages stored in /SavedXMLFiles/Demo_Client_XML.xml are sent to server sequentially.");
            Console.WriteLine("  The Demo_Client_XML.xml file consists of Write operations, Read operations and Persist operations.");
            Console.WriteLine("  Write operations - Insert, Delete, Edit Name, Edit Description and Add Children");
            Console.WriteLine("  Read operations - Get Value, Get Children, Get Keys with string pattern in metadata");
            Console.WriteLine("  PErsist operations - Persist database, Load Database");
            Console.WriteLine("\n  The DB contents are displayed on the server only in case of demo client to show the successful operations on DB.");
            Console.WriteLine("  These are displayed to show to user that operations are successfully performed on the database.");
            Console.WriteLine("\n  ******************\n  To launch the readers and writers enter any key on the TestExecutive window.");
            Console.WriteLine("  You can verify all types of operations done and displayed on server window, before launching readers and writers.");
            Console.Write("\n  Starting CommService for demo client");
            Console.Write("\n ================================\n");
            Thread.Sleep(1000);
            bool   log_message = true;
            Client clnt        = new Client();

            clnt.processCommandLine(args);
            Receiver rcvr      = new Receiver(Util.urlPort(clnt.localUrl), Util.urlAddress(clnt.localUrl));
            string   win_title = "Demo Client - " + Util.urlPort(clnt.localUrl);

            Console.Title = win_title;
            Action client_receive_action = clnt.define_receive_action(rcvr, log_message);

            if (rcvr.StartService())
            {
                rcvr.doService(client_receive_action);
            }
            Sender  sndr = new Sender(clnt.localUrl); // Sender needs localUrl for start message
            Message msg  = new Message();

            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;
            Console.Write("\n  Demo client local url is {0}", msg.fromUrl);
            Console.Write("\n  Attempting to connect to server on {0}\n", msg.toUrl);
            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }
            clnt.send_messages(sndr, msg, "./../../../../SavedXMLFiles/Demo_Client_XML.xml", log_message);
            Thread.Sleep(100);
            msg.content = "done";
            sndr.sendMessage(msg);
            // Wait for user to press a key to quit. Ensures that client has gotten all server replies.
            Util.waitForUser();
            // shut down this client's Receiver and Sender by sending close messages
            rcvr.shutDown();
            sndr.shutdown();
            Console.Write("\n\n");
        }
Esempio n. 8
0
        public void send_wpf_latency(double latency, string query_type, Sender sndr, string localport)
        {
            Message wpf_message = new Message();

            wpf_message.fromUrl = localUrl;
            wpf_message.toUrl   = "http://localhost:8081/CommService";
            if (!sndr.Connect(wpf_message.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                return;
            }

            string msg = "Read Client(" + localport + ") Latency time for request of type " + query_type + " = " + latency + " milliseconds";

            wpf_message.content = msg;
            sndr.sendMessage(wpf_message);
            Thread.Sleep(100);
            //wpf_message = new Message();
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            Console.Write("\n  starting CommService client");
            Console.Write("\n =============================\n");

            Console.Title = "Client #2";

            Client clnt = new Client();

            clnt.processCommandLine(args);

            string   localPort = Util.urlPort(clnt.localUrl);
            string   localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr      = new Receiver(localPort, localAddr);

            if (rcvr.StartService())
            {
                rcvr.doService(rcvr.defaultServiceAction());
            }

            Sender sndr = new Sender(clnt.localUrl); // Sender needs localUrl for start message

            Message msg = new Message();

            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;

            Console.Write("\n  sender's url is {0}", msg.fromUrl);
            Console.Write("\n  attempting to connect to {0}\n", msg.toUrl);

            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }

            int numMsgs = 5;
            int counter = 0;

            while (true)
            {
                msg         = new Message();
                msg.fromUrl = clnt.localUrl;
                msg.toUrl   = clnt.remoteUrl;
                msg.content = "Message #" + (++counter).ToString();
                Console.Write("\n  sending {0}", msg.content);
                if (!sndr.sendMessage(msg))
                {
                    return;
                }
                /////////////////////////////////////////////////////////////////
                // The delay, below, can now be removed without changing the
                // sending behavior except that it becomes faster.  However
                // We want to simulate a "normal" minimum delay between messages
                // to measure latency and server throughput.  Without the delay
                // the server's queue will very quickly contain a large number
                // of messages and we won't be accurately representing the system
                // behavior for a single client and server.
                //
                // Instead, we stress the server by running multiple clients
                // concurrently.
                //
                Thread.Sleep(100);
                if (counter >= numMsgs)
                {
                    break;
                }
            }
            msg         = new Message();
            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;
            msg.content = "done";
            sndr.sendMessage(msg);

            // Wait for user to press a key to quit.
            // Ensures that client has gotten all server replies.
            Util.waitForUser();

            // shut down this client's Receiver and Sender by sending close messages
            rcvr.shutDown();
            sndr.shutdown();

            Console.Write("\n\n");
        }
Esempio n. 10
0
 static void Main(string[] args) { 
     Console.Write("\n  starting CommService client");
     Console.Write("\n =============================\n");
     HiResTimer timerReader = new HiResTimer();
     Client clnt = new Client();
     clnt.processCommandLine(args);
     string localPort = args[0];
     clnt.localUrl = "http://localhost:" + localPort + "/CommService";
     string localAddr = Util.urlAddress(clnt.localUrl);
     Receiver rcvr = new Receiver(localPort, localAddr);
     rcvr.setTimerFromClient(timerReader);
     clnt.startRcvrService(rcvr);
     Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message
     MessageMaker readerInput = new MessageMaker();
     string fileName = ".\\ReaderClientInput.xml";
     Message msg = new Message();
     int numRequests = Convert.ToInt32(args[1]);
     XDocument xmldoc = XDocument.Load(fileName);
     var requests = xmldoc.Descendants("Request");
     int requestCount = 0, i = 0; List<XElement> totalrequest = new List<XElement>();
     while (i < numRequests) {    //set the specified number of requests to send
         totalrequest.Add(requests.ElementAt(i)); i++;}
     timerReader.Start();
     foreach (var request in totalrequest) {   //send each request to the message maker to create a message
         msg = new Message();
         msg = readerInput.makeMessage(clnt.localUrl, clnt.remoteUrl, request);
         Console.Title = "Reader Client to query the NoSQl database: Querying " + (++requestCount) + " requests";
         if (!sndr.Connect(msg.toUrl)) {      //send url of the destination to the sender
             Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
             sndr.shutdown();
             rcvr.shutDown();
             return;
         }
         Thread.Sleep(700);
         while (true) {
                 clnt.printMessage(msg);         //print the message contents
                 if (!sndr.sendMessage(msg))     // send the message to the sender
                     return;
                 Thread.Sleep(100);
                 break;}
     sndr.sendLatencyReader(rcvr.avgLatency);}
     Console.Write("\n  Sender's url is {0}", msg.fromUrl);
     Console.Write("\n  Attempting to connect to {0}\n", msg.toUrl);
     msg.content = "done";
     sndr.sendMessage(msg);
     Util.waitForUser();
     rcvr.shutDown();
     sndr.shutdown();
 } } }
Esempio n. 11
0
        static void Main(string[] args)
        {
            Console.WriteLine("  The intent of the read client is to stress the database with read operations.\n  Read operations - Get DBElement with key, Get children of DBElement, Get keys of DBElements with particular pattern.");
            Console.WriteLine("\n  If partial log option is enabled, only a partial part of the response messsage is logged to this console window.(latency and part of result)\n  If Partial log option is not enabled, entire result is displayed on the GUI.");
            Console.WriteLine("  For all requests, latency time for each message is displayed on this window and WPF GUI.");
            Console.WriteLine("  Once all request messages are received, average latency times are updated in WPF GUI.");
            Client clnt = new Client();

            clnt.processCommandLine(args);
            bool log_message = true;

            if (clnt.processCommandLineForPartialLog(args))
            {
                log_message = false;
            }
            if (!log_message)
            {
                Console.WriteLine("  (Partial log option is enabled for this client)");
            }
            else
            {
                Console.WriteLine(" (Partial log option is not enabled for this client.)");
            }

            Console.Write("\n  Starting CommService Read client");
            Console.Write("\n  =============================\n");
            string   localPort = Util.urlPort(clnt.localUrl);
            string   localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr      = new Receiver(localPort, localAddr);
            string   win_title = "Read Client - " + localPort;

            Console.Title = win_title;

            Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message
            Action client_receive_action = clnt.define_receive_action(rcvr, log_message, sndr, localPort);

            if (rcvr.StartService())
            {
                rcvr.doService(client_receive_action);
            }
            Message msg = new Message();

            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;
            Console.Write("\n  sender's url is {0}", msg.fromUrl);
            Console.Write("\n  attempting to connect to {0}\n", msg.toUrl);
            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }
            Console.WriteLine("\n  *****************************\n  Going to read messages present in XML file - Read_Client_XML.xml and send them sequentially to server.\n  *****************************");
            clnt.send_messages(sndr, msg, "./../../../../SavedXMLFiles/Read_Client_XML.xml", log_message);
            Thread.Sleep(100);
            msg.content = "done";
            sndr.sendMessage(msg);
            Util.waitForUser();
            rcvr.shutDown();
            sndr.shutdown();
            Console.Write("\n\n");
        }
Esempio n. 12
0
        static void Main(string[] args)
        {
            //Thread.Sleep(1500);
            Console.Write("\n  starting CommService writer client");
            Console.Write("\n =======================================\n");
            Console.Write("\n XML for Reading template is XMLWriter.xml");
            Console.Write("\n =======================================\n");
            Console.Write("\n If Verbose switch is off, then all logs are logged into WPF Client/GUI.");
            Console.Write("\n =====================================================================\n");
            Console.Write("\n Demonstrating Requirement #4 by sending add/delete/edit/persist/augment messages from writer client to server.");
            Console.Write("\n Demonstrating Requirement #5 by taking format of request from XML and showing performance on GUI as well as on Console(If logging switch is on).");
            Console.Title = "Client #1";

            Client clnt = new Client();

            clnt.processCommandLine(args);
            string   localPort = Util.urlPort(clnt.localUrl);
            string   localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr      = new Receiver(localPort, localAddr);

            if (rcvr.StartService())
            {
                rcvr.doService(rcvr.defaultServiceAction());
            }
            Sender  sndr = new Sender(clnt.localUrl); // Sender needs localUrl for start message
            Message msg  = new Message();

            msg.fromUrl = clnt.localUrl;
            msg.toUrl   = clnt.remoteUrl;

            Console.Write("\n  sender's url is {0}", msg.fromUrl);
            Console.Write("\n  attempting to connect to {0}\n", msg.toUrl);

            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }

            clnt.hrt.Start();
            rcvr.setTotalMessageSize(clnt.getMessageSize("XMLWriter.xml"));
            clnt.readMessageTemplates("XMLWriter.xml", sndr);
            while (true)
            {
                if (rcvr.getLastFlag())
                {
                    clnt.hrt.Stop();
                    break;
                }
            }
            ulong latency = clnt.hrt.ElapsedMicroseconds;
            int   lat     = Convert.ToInt32(latency);

            clnt.transportInformation(latency, sndr);
            msg.content = "done";
            sndr.sendMessage(msg);
            // Wait for user to press a key to quit.
            // Ensures that client has gotten all server replies.
            Util.waitForUser();
            // shut down this client's Receiver and Sender by sending close messages
            rcvr.shutDown();
            sndr.shutdown();
            Console.Write("\n\n");
        }
Esempio n. 13
0
    static void Main(string[] args)
    {
try
        {
            HiResTimer hres = new HiResTimer(); //High Resolution Timer
            Console.Write("\nStarting CommService write client");
            Console.Write("\n =============================\n");
            Console.Title = "Write Client";
            Message msg = new Message();
            WriterClient clnt = new WriterClient();
            clnt.processCommandLine(args);
            string localPort = Util.urlPort(clnt.localUrl);
            string localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr = new Receiver(localPort, localAddr);
            Action serviceAction = DefineServiceAction(hres, clnt, rcvr);
            if (rcvr.StartService())
                rcvr.doService(serviceAction);
            Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message         
            msg.fromUrl = clnt.localUrl;
            msg.toUrl = clnt.remoteUrl;
            Console.Write("Sender's url is {0}", msg.fromUrl);
            Console.Write("Attempting to connect to {0}\n", msg.toUrl);
            if (!sndr.Connect(msg.toUrl))
            {
                Console.Write("Could not connect in {0} attempts\n", sndr.MaxConnectAttempts);
                sndr.shutdown();
                rcvr.shutDown();
                return;
            }
            PerformanceTesting(hres, msg, clnt, rcvr, sndr);
        }
        catch (CustomException ex)
        {
            throw new CustomException("Error in main of writer client", ex);
        }
    }
Esempio n. 14
0
 static void Main(string[] args)
 {
        HiResTimer hres = new HiResTimer(); //High Resolution Timer
     Console.Write("\nStarting CommService Read client");
     Console.Write("\n =============================\n");
     Console.Title = "Read Client";
     Message msg = new Message();
     ReadClient clnt = new ReadClient();
     clnt.processCommandLine(args);
     string localPort = Util.urlPort(clnt.localUrl);
     string localAddr = Util.urlAddress(clnt.localUrl);
     Receiver rcvr = new Receiver(localPort, localAddr);
     Action serviceAction = DefineServiceAction(hres, clnt, rcvr);
     if (rcvr.StartService())
         rcvr.doService(serviceAction);
     Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message         
     msg.fromUrl = clnt.localUrl;
     msg.toUrl = clnt.remoteUrl;
     Console.Write("Sender's url is {0}", msg.fromUrl);
     Console.Write("Attempting to connect to {0}\n", msg.toUrl);
     if (!sndr.Connect(msg.toUrl))
     {
         Console.Write("Could not connect in {0} attempts\n", sndr.MaxConnectAttempts);
         sndr.shutdown();
         rcvr.shutDown();
         return;
     }
     msg = PerformanceTest(hres, msg, clnt, sndr);
     // Wait for user to press a key to quit.
     Util.waitForUser();
     // shut down this client's Receiver and Sender by sending close messages
     rcvr.shutDown();
     sndr.shutdown();
     Console.Write("\n\n");
 }
Esempio n. 15
0
        static void Main(string[] args)
        {
            Console.Write("\n  Starting Writer client");
            Console.Write("\n =============================\n");
            Console.Title = "Writer";
            Client clnt = new Client();

            try
            {
                clnt.processCommandLine(args);
                string   localPort = Util.urlPort(clnt.localUrl);
                string   localAddr = Util.urlAddress(clnt.localUrl);
                Receiver rcvr      = new Receiver(localPort, localAddr);
                Sender   sndr      = new Sender(clnt.localUrl); // Sender needs localUrl for start message

                if (rcvr.StartService())
                {
                    rcvr.doService(rcvr.defaultServiceAction());
                }

                Message msg = new Message();
                msg.fromUrl = clnt.localUrl;
                msg.toUrl   = clnt.remoteUrl;

                Console.Write("\n  sender's url is {0}", msg.fromUrl);
                Console.Write("\n  attempting to connect to {0}\n", msg.toUrl);

                if (!sndr.Connect(msg.toUrl))
                {
                    Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                    sndr.shutdown();
                    rcvr.shutDown();
                    return;
                }

                clnt.timer.Start();
                clnt.readMessageTemplates("XMLWriter.xml");
                if (clnt.listOfMsgs.Count() > 0)
                {
                    rcvr.setTotalMessageSize(clnt.getTotalNumberOfMessages(clnt.listOfMsgs));
                    clnt.processMessages(clnt.listOfMsgs, sndr);
                    while (true)
                    {
                        if (rcvr.getLastFlag())
                        {
                            clnt.timer.Stop();
                            break;
                        }
                    }
                }
                ulong latency = clnt.timer.ElapsedMicroseconds;
                clnt.sendPerformanceMessage(latency, sndr);
                msg.content = "done";
                sndr.sendMessage(msg);
                // Wait for user to press a key to quit.
                // Ensures that client has gotten all server replies.
                Util.waitForUser();
                // shut down this client's Receiver and Sender by sending close messages
                rcvr.shutDown();
                sndr.shutdown();
                Console.Write("\n\n");
            }
            catch (Exception e)
            {
                Console.Write("Invalid XMl file or some exception occured.");
                Console.Write("Exception : " + e.StackTrace);
                throw;
            }
        }
Esempio n. 16
0
        static void Main(string[] args)
        {
            Console.Write("\n  starting CommService client");
            Console.Write("\n =============================\n");
            HiResTimer timerReader = new HiResTimer();
            Client     clnt        = new Client();

            clnt.processCommandLine(args);
            string localPort = args[0];

            clnt.localUrl = "http://localhost:" + localPort + "/CommService";
            string   localAddr = Util.urlAddress(clnt.localUrl);
            Receiver rcvr      = new Receiver(localPort, localAddr);

            rcvr.setTimerFromClient(timerReader);
            clnt.startRcvrService(rcvr);
            Sender       sndr = new Sender(clnt.localUrl); // Sender needs localUrl for start message
            MessageMaker readerInput = new MessageMaker();
            string       fileName = ".\\ReaderClientInput.xml";
            Message      msg = new Message();
            int          numRequests = Convert.ToInt32(args[1]);
            XDocument    xmldoc = XDocument.Load(fileName);
            var          requests = xmldoc.Descendants("Request");
            int          requestCount = 0, i = 0; List <XElement> totalrequest = new List <XElement>();

            while (i < numRequests)      //set the specified number of requests to send
            {
                totalrequest.Add(requests.ElementAt(i)); i++;
            }
            timerReader.Start();
            foreach (var request in totalrequest)     //send each request to the message maker to create a message
            {
                msg           = new Message();
                msg           = readerInput.makeMessage(clnt.localUrl, clnt.remoteUrl, request);
                Console.Title = "Reader Client to query the NoSQl database: Querying " + (++requestCount) + " requests";
                if (!sndr.Connect(msg.toUrl))        //send url of the destination to the sender
                {
                    Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
                    sndr.shutdown();
                    rcvr.shutDown();
                    return;
                }
                Thread.Sleep(700);
                while (true)
                {
                    clnt.printMessage(msg);             //print the message contents
                    if (!sndr.sendMessage(msg))         // send the message to the sender
                    {
                        return;
                    }
                    Thread.Sleep(100);
                    break;
                }
                sndr.sendLatencyReader(rcvr.avgLatency);
            }
            Console.Write("\n  Sender's url is {0}", msg.fromUrl);
            Console.Write("\n  Attempting to connect to {0}\n", msg.toUrl);
            msg.content = "done";
            sndr.sendMessage(msg);
            Util.waitForUser();
            rcvr.shutDown();
            sndr.shutdown();
        }
 static void Main(string[] args)
 {
   Console.Write("\n  starting CommService client");
   Console.Write("\n =============================\n");
   Client clnt = new Client();
   clnt.processCommandLine(args);
   string localPort = Util.urlPort(clnt.localUrl);
   string localAddr = Util.urlAddress(clnt.localUrl);
   Receiver rcvr = new Receiver(localPort, localAddr);
   Console.Title = "Write Client: " + localPort;
   if (rcvr.StartService())
     rcvr.doService(doserviceAction(rcvr));
   Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message
   Message msg = new Message();
   msg.fromUrl = clnt.localUrl;
   msg.toUrl = clnt.remoteUrl;
   Console.Write("\n  sender's url is {0}", msg.fromUrl);
   Console.Write("\n  attempting to connect to {0}\n", msg.toUrl);
   if (!sndr.Connect(msg.toUrl))
   {
     Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
     shutdown(rcvr, sndr);
     return;
   }
   "Reading write1.xml file".title();
   string path = Path.GetFullPath("../../../Write Client/bin/Debug/write1.xml");
   XDocument newDoc = XDocument.Load(path);
   clnt.write_clinet_parse.Start();
   Parser p = new Parser(logger_flag);
   p.parse(newDoc, ref msg, sndr);
   Message msg1 = new Message();
   msg1.fromUrl = clnt.localUrl;
   msg1.toUrl = clnt.remoteUrl;
   msg1.content = "done";
   sndr.sendMessage(msg1);
   clnt.write_clinet_parse.Stop();
   Message msg2 = new Message();
   msg2.fromUrl = clnt.localUrl;
   msg2.toUrl = clnt.remoteUrl;
   msg2.content = "write-client," + clnt.write_clinet_parse.ElapsedMicroseconds;
   sndr.sendMessage(msg2);
   Console.WriteLine("\n\nWrite-Client Processing Time: " + clnt.write_clinet_parse.ElapsedMicroseconds + " microseconds\n");
   // Wait for user to press a key to quit.
   // Ensures that client has gotten all server replies.
   Util.waitForUser();
   // shut down this client's Receiver and Sender by sending close messages
   shutdown(rcvr, sndr);
   Console.Write("\n\n");
 }
 /// <summary>
 /// Main program entry
 /// </summary>
 /// <param name="args"></param>
 static void Main(string[] args)
 {
     Console.Write("\nStarting CommService write client");
     Console.Write("\n =============================\n");
     Console.Title = "Project 2 Requirements Testing";
     BasicRequirementTest clnt = new BasicRequirementTest();
     clnt.processCommandLine(args);
     string localPort = Util.urlPort(clnt.localUrl);
     string localAddr = Util.urlAddress(clnt.localUrl);
     Receiver rcvr = new Receiver(localPort, localAddr);
     if (rcvr.StartService())
         rcvr.doService(rcvr.defaultServiceAction());
     Sender sndr = new Sender(clnt.localUrl);  // Sender needs localUrl for start message
     Message msg = new Message();
     msg.fromUrl = clnt.localUrl;
     msg.toUrl = clnt.remoteUrl;
     Console.Write("\nSender's url is {0} \n", msg.fromUrl);
     Console.Write("\nAttempting to connect to {0}\n", msg.toUrl);
     if (!sndr.Connect(msg.toUrl))
     {
         Console.Write("\n  could not connect in {0} attempts", sndr.MaxConnectAttempts);
         sndr.shutdown();
         rcvr.shutDown();
         return;
     }
     string key = "";
     clnt.TestR2(ref msg, sndr, ref key);
     clnt.TestR3(ref msg, sndr);
     clnt.TestR4(ref msg, sndr, key);
     clnt.TestR5(ref msg, sndr);
     clnt.TestR6(ref msg, sndr);
     clnt.TestR7A(ref msg, sndr);
     clnt.TestR7B(ref msg, sndr);
     clnt.TestR7C(ref msg, sndr);
     clnt.TestR7D(ref msg, sndr);
     clnt.TestR7E(ref msg, sndr);
     clnt.TestR8(ref msg, sndr);
     clnt.TestR9(ref msg, sndr);
     Util.waitForUser();            // Wait for user to press a key to quit.
     rcvr.shutDown();               // shut down this client's Receiver and Sender by sending close messages
     sndr.shutdown();
     Console.Write("\n\n");
 }