Пример #1
0
        public void SendLogToRepo(string threadName, string tempLogPath, MessageClient msgSenderRepo, MessageServer msgReciever)
        {
            int        trycount = 0;
            HiResTimer hrt      = new HiResTimer();

            while (trycount <= 5)
            {
                trycount++;
                Console.WriteLine("\n({0})Sending logs to repository...", threadName);
                Message msgToRepo = msgSenderRepo.SetupUploadMessageToRepo(threadName, tempLogPath, "http://localhost:4140/ICommService/BasicHttp", "http://localhost:8180/ICommService/BasicHttp");

                msgSenderRepo.channel.PostMessage(msgToRepo);
                Console.WriteLine("\n({0})Waiting for message from repository...", threadName);
                hrt.Start();
                Message msgFromRepo = msgReciever.TryGetMessage("Repository", threadName);
                hrt.Stop();
                Console.WriteLine("");
                Console.WriteLine("\n({0})Recieved message from repository in {0} microsec.", threadName, hrt.ElapsedMicroseconds);
                Console.WriteLine("");
                TestLoadStatus loadStat = msgReciever.Parse(msgFromRepo);
                Console.WriteLine(loadStat.loadMessage);
                if (loadStat.status)
                {
                    break;
                }
                if (trycount <= 5)
                {
                    Thread.Sleep(500);
                    continue;
                }
                throw new Exception("Failed sending logs to repository");
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            try
            {
                TestExecutive currentProgram = new TestExecutive();
                MessageServer msgReciever    = new MessageServer();
                FileServer    fileServer     = new FileServer();
                Console.WriteLine("\n(Main thread)Constructing host to download/upload files");
                fileServer.CreateFileServiceHost("http://localhost:4140/ICommService/BasicHttp");
                fileServer.open();

                Console.WriteLine("\n(Main thread)Constructing host to communicate with client and repository");
                msgReciever.CreateMessageServiceHost("http://localhost:8180/ICommService/BasicHttp");
                msgReciever.open();
                while (true)
                {
                    Console.WriteLine("\n(Main thread)Recieveing message from client...");
                    Message msg = msgReciever.TryGetMessage("Client", string.Empty);
                    Console.WriteLine("\n(Main thread)Recieved message from client.");
                    Thread childTH = new Thread(() => { currentProgram.CLMsgProc(msg, msgReciever); });

                    childTH.Start();
                }
            }
            catch (Exception except)
            {
                Console.Write("\n  {0}\n\n", except.Message);
            }
            ///////////////////////////////////////////////////////////////////////////////////////////
        }
Пример #3
0
        public List <TestInfo> Phase1(string threadName, ref string tempPath, Message msg, MessageClient msgSenderRepo, MessageClient msgSenderCL, MessageServer msgReciever)
        {
            HiResTimer hrt = new HiResTimer();

            Console.WriteLine("\n({0})Parsing test request...", threadName);
            Parser          parser      = new Parser();
            List <TestInfo> requestInfo = parser.doParse(msg);

            Console.WriteLine("\n({0})The result of parsing:", threadName);
            parser.showParsed();

            Console.WriteLine("\n({0})Creating Temporary directory...", threadName);
            tempPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "..\\..\\..\\temp" + requestInfo[0].requestName);
            Directory.CreateDirectory(tempPath);

            Console.WriteLine("\n({0})Creating channel to send message to repository...", threadName);

            msgSenderRepo.CreateMessageChannel("http://localhost:8085/ICommService");
            Message msgToRepo = msgSenderRepo.SetupDownLoadMessageToRepo(threadName, requestInfo, tempPath, "http://localhost:4140/ICommService/BasicHttp", "http://localhost:8180/ICommService/BasicHttp");

            Console.WriteLine("\n({0})Sending message to repository...", threadName);

            msgSenderRepo.channel.PostMessage(msgToRepo);
            Console.WriteLine("\n({0})Waiting for message from repository...", threadName);
            hrt.Start();
            Message reply = msgReciever.TryGetMessage("Repository", threadName);

            hrt.Stop();
            TestLoadStatus stat = msgReciever.Parse(reply);

            Console.WriteLine("");
            Console.WriteLine("\n({0})Recieved message from repository in {2} microsec:\n{1}", threadName, stat.loadMessage, hrt.ElapsedMicroseconds);
            Console.WriteLine("");
            Console.WriteLine("\n({0})Creating channel to send message to client...", threadName);
            msgSenderCL.CreateMessageChannel(parser.ParseConnect(msg));
            Message loadMsgToCL = msgSenderCL.SetupLoadMessageToClient(stat);

            Console.WriteLine("\n({0})Sending load message to client...", threadName);
            msgSenderCL.channel.PostMessage(loadMsgToCL);
            Console.WriteLine("\n<---------------------------------------------------------------------->");

            return(requestInfo);
        }