public void startRcvrService(Receiver rcvr) { if (rcvr.StartService()) { rcvr.doService(rcvr.defaultServiceAction()); } }
//----< Test Stub >-------------------------------------------------- #if (TEST_RECEIVER) static void Main(string[] args) { Util.verbose = true; Console.Title = "CommService Receiver"; Console.Write("\n Starting CommService Receiver"); Console.Write("\n ===============================\n"); Receiver rcvr = new Receiver(); rcvr.ProcessCommandLine(args); Console.Write("\n Receiver url = {0}\n", Util.makeUrl(rcvr.address, rcvr.port)); // serviceAction defines what the server does with received messages if (rcvr.StartService()) { //rcvr.doService(); rcvr.doService(rcvr.defaultServiceAction()); // equivalent to rcvr.doService() } Console.Write("\n press any key to exit: "); Console.ReadKey(); Console.Write("\n\n"); }
public void startRcvrService(Receiver rcvr) { //start receiver service if (rcvr.StartService()) { rcvr.doService(rcvr.defaultServiceAction()); } }
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"); }
public WriteClient(string LocalUrl, string ToUrl) { localUrl = LocalUrl; remoteUrl = ToUrl; rcvr = new Receiver(Utilities.urlPort(localUrl), Utilities.urlAddress(localUrl)); if (rcvr.StartService()) { rcvr.doService(rcvr.defaultServiceAction()); } sndr = new Sender(localUrl); }
static void Main(string[] args) { MessageMaker msgMaker = new MessageMaker(); Console.Write("\nStarting Test Executive"); Console.Write("\n=============================\n"); Message msg = new Message(); HiResTimer timer = new HiResTimer(); Console.Title = "Write Client"; WriteClient writeClient = new WriteClient(); if (args.Length == 2) { writeClient.numMsg = Convert.ToInt32(args[1]); } writeClient.processCommandLine(args); string localPort = Util.urlPort(writeClient.localUrl); string localAddr = Util.urlAddress(writeClient.localUrl); Receiver rcvr = new Receiver(localPort, localAddr, timer); if (rcvr.StartService()) { rcvr.doService(rcvr.defaultServiceAction()); } Sender sndr = new Sender(writeClient.localUrl); // Sender needs localUrl for start message XDocument xmlInput = writeClient.GetInputFromXml(); var results = xmlInput.Descendants("element"); writeClient.sendMessageToServer(results, timer, msgMaker, sndr, rcvr); Console.Write("\n sender's url is {0}", writeClient.localUrl); Console.Write("\n attempting to connect to {0}\n", writeClient.remoteUrl); //Wait until all messages from server are received. while (rcvr.count < writeClient.numMsg) { sndr.SendWriterLatency(rcvr.totalExecutionTime / rcvr.count); } msg.content = "done"; msg.fromUrl = writeClient.localUrl; msg.toUrl = writeClient.remoteUrl; sndr.sendMessage(msg); Util.waitForUser(); sndr.SendWriterLatency(rcvr.totalExecutionTime / rcvr.count); rcvr.shutDown(); sndr.shutdown(); }
static void Main(string[] args) { TestExecutive test = new TestExecutive(); if (args.Count() == 4) { test.readers = Convert.ToInt32(args[0]); test.writers = Convert.ToInt32(args[1]); test.numReaderMessages = Convert.ToInt32(args[2]); test.numWriterMessages = Convert.ToInt32(args[3]); } MessageMaker msgMaker = new MessageMaker(); HiResTimer timer = new HiResTimer(); Message msg = new Message(); Console.Write("\nStarting Test Executive"); Console.Write("\n=============================\n"); Console.Title = "Test Executive"; string localPort = Util.urlPort(test.localUrl); string localAddr = Util.urlAddress(test.localUrl); Receiver rcvr = new Receiver(localPort, localAddr, timer); if (rcvr.StartService()) { rcvr.doService(rcvr.defaultServiceAction()); } Sender sndr = new Sender(test.localUrl); // Sender needs localUrl for start message XDocument xmlInput = test.GetInputFromXml(); var results = xmlInput.Descendants("element"); Console.Write("\n sender's url is {0}", test.localUrl); Console.Write("\n attempting to connect to {0}\n", test.remoteUrl); timer.Start(); test.sendMessageToServer(results, timer, msgMaker, sndr, rcvr); msg.content = "done"; msg.fromUrl = test.localUrl; msg.toUrl = test.remoteUrl; sndr.sendMessage(msg); Console.WriteLine("\n\nPress any key to start performance testing..."); Util.waitForUser(); test.LaunchReadersAndWriters(); rcvr.shutDown(); sndr.shutdown(); }
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"); }
//----< Test Stub >-------------------------------------------------- #if (TEST_RECEIVER) static void Main(string[] args) { Util.verbose = true; Console.Title = "CommService Receiver"; Console.Write("\n Starting CommService Receiver"); Console.Write("\n ===============================\n"); Receiver rcvr = new Receiver(); rcvr.ProcessCommandLine(args); Console.Write("\n Receiver url = {0}\n", Util.makeUrl(rcvr.address, rcvr.port)); // serviceAction defines what the server does with received messages if (rcvr.StartService()) { //rcvr.doService(); rcvr.doService(rcvr.defaultServiceAction()); // equivalent to rcvr.doService() } Console.Write("\n press any key to exit: "); Console.ReadKey(); Console.Write("\n\n"); }
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"); }
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; } }
/// <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"); }