Exemple #1
0
        // Process Messages Received
        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    if (msg.contain_key("command"))
                    {
                        string msgId = msg.value("command");
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                        else
                        {
                            update_status("Invalid message!");
                        }
                    }
                }
            };

            recv = new Thread(thrdProc);
            recv.IsBackground = true;
            recv.Start();
        }
        //----< process incoming messages on child thread >----------------

        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    try
                    {
                        string msgId = msg.value("command");
                        Console.Write("\n  client getting message \"{0}\"", msgId);
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.Write("\n  {0}", ex.Message);
                        msg.show();
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
Exemple #3
0
        //----< process incoming messages on child thread >----------------
        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    try
                    {
                        CsMessage msg   = client.getMessage();
                        string    msgId = msg.value("command");
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
        //----< process incoming messages on child thread >----------------

        private void processMessages()
        {
            Console.Write("\n Starting Receiving Thread for Client\n");


            ThreadStart thrdProc = () => {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    try
                    {
                        string msgId = msg.value("command");

                        Console.Write("\n The received msg with command is " + msgId);
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }catch (Exception e)
                    {
                        Console.WriteLine("\n The exception is" + e);
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
        //----< process incoming messages on child thread >----------------

        private void processMessages()
        {
            ThreadStart thrdProc = () =>
            {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    if (msg.attributes.ContainsKey("log") && msg.attributes.ContainsKey("requestName"))
                    {
                        byte[] data          = Convert.FromBase64String(msg.value("log"));
                        string decodedString = Encoding.UTF8.GetString(data);
                        string filePath      = msg.value("requestName") + "-result" + ".txt";
                        decodedString = decodedString.Replace("\n", System.Environment.NewLine);
                        using (var streamWriter = File.CreateText(filePath))
                        {
                            streamWriter.Write(decodedString);
                        }
                        this.Dispatcher.Invoke(() =>
                        {
                            TestStatusText.Text += "Test request " + msg.value("requestName") + " executed \n " + "Find the result in -> " + filePath;
                            ResultList.Add(filePath);
                            string[] args = Environment.GetCommandLineArgs();
                            if (args.Length > 1 && args[1] == "INDEMO")
                            {
                                Process.Start(filePath);
                            }
                        });
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
Exemple #6
0
        //----< processing message which are received from server >------
        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    try
                    {
                        CsMessage msg   = translater.getMessage();
                        string    msgId = msg.value("command");
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }
                    catch
                    {
                        continue;
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
Exemple #7
0
        //----< process incoming messages on child thread >----------------

        private void processMessages()
        {
            ThreadStart thrdProc = () =>
            {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    try
                    {
                        if (msg.value("command") != "getFiles" && msg.value("command") != "getDirs")
                        {
                            msg.show();
                        }
                        string msgId = msg.value("command");
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }
                    catch (Exception e)
                    {
                        Console.Write("\n {0}", e.Message);
                        msg.show();
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
        //----< start Comm, fill window display with files  to convert>------
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            if (!System.IO.Directory.Exists(workingDir))
            {
                System.IO.Directory.CreateDirectory(workingDir);
            }
            endPoint_ = new CsEndPoint();
            endPoint_.machineAddress = "localhost";
            endPoint_.port           = 8082;
            translater = new Translater();
            translater.listen(endPoint_, workingDir, workingDir);
            processMessages();
            loadDispatcher();
            CsEndPoint serverEndPoint = new CsEndPoint();

            serverEndPoint.machineAddress = "localhost";
            serverEndPoint.port           = 8080;
            pathStack_.Push("../Storage");
            CsMessage messg = new CsMessage();

            messg.add("to", CsEndPoint.toString(serverEndPoint));
            messg.add("from", CsEndPoint.toString(endPoint_));
            messg.add("command", "getDirs");
            messg.add("path", pathStack_.Peek());
            translater.postMessage(messg);
            messg.remove("command");
            messg.add("command", "getFiles");
            translater.postMessage(messg);
            string[] args = Environment.GetCommandLineArgs();
            WDirectory = "../../../";
            WDirectory = Path.GetFullPath(WDirectory);
            List <string> list_st = new List <string>();

            input(list_st);                                      // input for arguments
            CsMessage msg_Conv = new CsMessage();

            msg_Conv.add("to", CsEndPoint.toString(serverEndPoint));     //sending message to convert files
            msg_Conv.add("from", CsEndPoint.toString(endPoint_));
            msg_Conv.add("command", "convert");
            msg_Conv.add("convert", args.First());
            msg_Conv.add("argc", list_st.Count().ToString());
            int    count = 1;
            string cmd   = "cmd";

            foreach (string val_store in list_st)
            {
                string listch = cmd + count;
                msg_Conv.add(listch, val_store.ToString());
                count++;
            }
            translater.postMessage(msg_Conv);
            translater.getMessage();
            demo_getfile(serverEndPoint);                // demonstrating file sent to clientFolder
        }
Exemple #9
0
 //-------------<the process for incoming message>--------------
 private void processMsg()
 {
     while (true)
     {
         CsMessage msg = translater_.getMessage();
         if (msg.attributes.ContainsKey("command"))
         {
             if (msg.attributes["command"] == "Close client")
             {
                 translater_.close();
                 break;
             }
             string key = msg.attributes["command"];
             Dispatcher.Invoke(messageDispatcher_[key], new object[] { msg });
         }
     }
 }
Exemple #10
0
        //----< process incoming messages on child thread >----------------

        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    Console.WriteLine("\n  getting message in Translater");
                    msg.show();
                    string msgId = msg.value("command");
                    if (dispatcher_.ContainsKey(msgId))
                    {
                        dispatcher_[msgId].Invoke(msg);
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
Exemple #11
0
        //----< submit test request >-------------------------------------------

        private void SubmitTestRequestButton_Click(object sender, RoutedEventArgs e)
        {
            CsEndPoint userEndPoint = new CsEndPoint();

            userEndPoint.machineAddress = "localhost";
            userEndPoint.port           = 9000;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(userEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            string testDriverElement = TestDriverListBox.Items[0].ToString();
            int    arraySize         = TestedCodeListBox.Items.Count;

            string[] testedCodeElements = TestedCodeListBox.Items.OfType <string>().ToArray();
            msg.add("command", "Test_Request");
            string str           = CreateTestRequestString(testDriverElement, testedCodeElements);
            string testNumString = testNum.ToString();

            // msg.add("testNumString", testNumString);
            msg.add("name", str);
            translater.postMessage(msg);
            string forStatusListBox = CreateTextBoxStringFromTestRequestInfo(testDriverElement, testedCodeElements);
            string statusMsg        = forStatusListBox + "Awaiting Status Msg";

            //"\nTest Number " + testNum.ToString() + ":\n" +
            updateStatusListBox(statusMsg);
            CsMessage msgIn = translater2.getMessage();

            if (msgIn.value("command") == "Test Status Message")
            {
                msgIn.show();
                string statusReplyMsg =
                    "Test Number:     " + msgIn.value("testRequestID") +
                    "\nStatus:          " + msgIn.value("status") +
                    "\nTime Date Stamp: " + msgIn.value("TimeDateStamp") +
                    "\nTest Log File:   " + msgIn.value("TestLogFileString") + "\n";
                StatusListBox.Items.Add(statusReplyMsg);
            }
            testNum++;
        }
Exemple #12
0
 // -----------< Function running in "get" thread >-------------
 private void ReceivingThreadProc()
 {
     while (running)
     {
         CsMessage msg = translater.getMessage();
         try
         {
             string msgId = msg.value("command");
             Console.Write("\n  client getting message \"{0}\"", msgId);
             Dispatcher.Invoke(() =>
             {
                 statusBarText.Text = "Message from server got!";
                 InterpretReceivedMsgs(msg);
             });
         }
         catch (Exception ex)
         {
             Console.Write("\n  {0}", ex.Message);
             msg.show();
         }
     }
 }
Exemple #13
0
        //----< search repo for a given file >----------------------------------

        private void SearchForFile_Click(object sender, RoutedEventArgs e)
        {
            CsEndPoint userEndPoint = new CsEndPoint();

            userEndPoint.machineAddress = "localhost";
            userEndPoint.port           = 9000;
            CsMessage msg = new CsMessage();

            msg.add("to", CsEndPoint.toString(userEndPoint));
            msg.add("from", CsEndPoint.toString(endPoint_));
            msg.add("command", "Search_For_File");
            msg.add("searchFile", SearchInputBox.Text);
            translater.postMessage(msg);
            CsMessage replyMsg = translater.getMessage();

            SearchInputBox.Text = replyMsg.value("fileSearchResult");
        }
Exemple #14
0
        private void StartMessagesListenerThread()
        {
            ThreadStart listen = () =>
            {
                CsMessage message = null;
                while (true)
                {
                    message = translater_.getMessage();

                    if (message.containsKey("verbose"))
                    {
                        Console.WriteLine("\n");
                        Console.WriteLine("  ====================");
                        Console.WriteLine("  | Received message |");
                        Console.WriteLine("  ====================");
                        message.show();
                    }

                    if (message.containsKey("command") &&
                        "__quit" == message.value("command"))
                    {
                        break;
                    }

                    HandleIncomingRequest(message);
                }

                Console.WriteLine("\n\n  --> Message listener has been stopped." +
                                  "No further messages will be processed...");

                // for quit message handler
                HandleIncomingRequest(message);
            };

            messagesListenerThread_ = new Thread(listen);
            messagesListenerThread_.IsBackground = true;
            messagesListenerThread_.Start();
        }
Exemple #15
0
        //----< process messages for receiving messges from child processes >------
        private void ProcessMessages()
        {
            void thrdProc()
            {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    if (msg.attributes.ContainsKey("sendingFile"))
                    {
                        if (dispatcher_.ContainsKey("getDirs"))
                        {
                            dispatcher_["getDirs"].Invoke(msg);
                        }
                    }
                }
            }

            rcvThrd = new Thread(thrdProc)
            {
                IsBackground = true
            };
            rcvThrd.Start();
        }
        //----< process the received messages >---------------------------

        private void processMessages()
        {
            ThreadStart thrdProc = () =>
            {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    if (msg.attributes.Count != 0)
                    {
                        Console.Write("\n\n  received message: " + msg.value("command"));
                        string msgId = msg.value("command");
                        if (dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
        void rcvThreadProc()
        {
            Console.Write("\n  starting client's receive thread");
            while (true)
            {
                CsMessage msg = translater.getMessage();
                msg.show();

                // pass the Dispatcher's action value to the main thread for execution
                try
                {
                    string msgId = msg.value("command");
                    if (dispatcher_.ContainsKey(msgId))
                    {
                        dispatcher_[msgId].Invoke(msg);
                    }
                }
                catch
                {
                    Console.Write("no command");
                }
            }
        }
Exemple #18
0
        //----< process incoming messages on child thread >----------------

        private void processMessages()
        {
            ThreadStart thrdProc = () => {
                while (true)
                {
                    CsMessage msg = translater.getMessage();
                    try
                    {
                        string msgId = msg.value("command");
                        if (msgId.Length > 0 && dispatcher_.ContainsKey(msgId))
                        {
                            dispatcher_[msgId].Invoke(msg);
                        }
                    }catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                }
            };

            rcvThrd = new Thread(thrdProc);
            rcvThrd.IsBackground = true;
            rcvThrd.Start();
        }
 //----< process incoming messages on child thread >----------------
 private void processMessages()
 {
     try
     {
         ThreadStart thrdProc = () =>
         {
             while (true)
             {
                 CsMessage msg = translater.getMessage();
                 try
                 {
                     string msgId = msg.value("command");
                     Console.WriteLine("\n  received message:");
                     msg.show();
                     if (dispatcher_.ContainsKey(msgId))
                     {
                         dispatcher_[msgId].Invoke(msg);
                     }
                     dispatcher_["status"].Invoke(msg);
                 }
                 catch (Exception ex)
                 {
                     String ex1 = ex.Message;
                     continue;
                 }
             }
         };
         rcvThrd = new Thread(thrdProc);
         rcvThrd.IsBackground = true;
         rcvThrd.Start();
     }
     catch (Exception exc)
     {
         Console.WriteLine(exc);
     }
 }