示例#1
0
        public void upLoadFile(FileTransferMessage msg)
        {
            int totalBytes = 0;

            hrt.Start();
            filename = msg.filename;
            string rfilename = Path.Combine(savePath, filename);

            if (!Directory.Exists(savePath))
            {
                Directory.CreateDirectory(savePath);
            }
            using (var outputStream = new FileStream(rfilename, FileMode.Create))
            {
                while (true)
                {
                    int bytesRead = msg.transferStream.Read(block, 0, BlockSize);
                    totalBytes += bytesRead;
                    if (bytesRead > 0)
                    {
                        outputStream.Write(block, 0, bytesRead);
                    }
                    else
                    {
                        break;
                    }
                }
            }
            hrt.Stop();
            Console.Write(
                "\n Received file \"{0}\" of {1} bytes in {2} microsec.",
                filename, totalBytes, hrt.ElapsedMicroseconds
                );
        }
示例#2
0
        static int Main()
        {
            msTimer ms = new msTimer();

            ms.Start();
            Console.Write("{0}, {1}, {2} ", ms.ElapsedMicroseconds, ms.ElapsedTicks, ms.ElapsedTimeSpan);
            ms.Stop();
            return(0);
        }
示例#3
0
        public Stream receiveFile(string filename)
        {
            time.Start();
            string sfilename = Path.Combine(sendPath, filename);

            Console.WriteLine(sfilename);
            FileStream outStream = null;

            if (File.Exists(sfilename))
            {
                outStream = new FileStream(sfilename, FileMode.Open);
            }
            else
            {
                Console.WriteLine("Can't open File: " + Path.GetFullPath(sfilename));
            }
            time.Stop();
            Console.Write("Received file : {0} in {1} ms", sfilename, time.ElapsedMicroseconds);
            return(outStream);
        }
示例#4
0
        //Downloading files from the repository
        void download(string filename)
        {
            int     totalBytes = 0;
            msTimer hrt        = new msTimer();

            try
            {
                hrt.Start();
                Stream strm      = channel.downLoadFile(filename);
                string rfilename = Path.Combine(SavePath, filename);
                if (!Directory.Exists(SavePath))
                {
                    Directory.CreateDirectory(SavePath);
                }
                using (var outputStream = new FileStream(rfilename, FileMode.Create))
                {
                    while (true)
                    {
                        int bytesRead = strm.Read(block, 0, BlockSize);
                        totalBytes += bytesRead;
                        if (bytesRead > 0)
                        {
                            outputStream.Write(block, 0, bytesRead);
                        }
                        else
                        {
                            break;
                        }
                    }
                }
                hrt.Stop();
                ulong time = hrt.ElapsedMicroseconds;
                Console.Write("\nReceived file \"{0}\" of {1} bytes in {2} microsec.", filename, totalBytes, time);
            }
            catch
            {
                Console.Write("\n");
            }
        }
示例#5
0
        //Uploading files to the Repository
        void uploadFile(string filename)
        {
            string fqname = Path.Combine(ToSendPath, filename);

            try
            {
                time.Start();
                using (var inputStream = new FileStream(fqname, FileMode.Open))
                {
                    FileTransferMessage msg = new FileTransferMessage();
                    msg.filename       = filename;
                    msg.transferStream = inputStream;
                    channel.upLoadFile(msg);
                }
                time.Stop();
                Console.Write("\n  Uploaded file \"{0}\" in {1} microsec.", filename, time.ElapsedMicroseconds);
            }
            catch (Exception ex)
            {
                Console.Write("\n  can't find \"{0}\"", fqname);
                Console.Write("\n" + ex.Message);
            }
        }
示例#6
0
        public void loadTests(XMLProp testRequest)
        {
            Logger lg = new Logger();

            lg.add("Received Test Request : " + testRequest.TestDriver).displaycurrent();
            XMLProp lib = testRequest;

            lg.add("\nSetting Up Domain for test request").displaycurrent();
            AppDomainSetup domainsetup = new AppDomainSetup();
            Assembly       assem       = null;

            domainsetup.ApplicationBase = System.Environment.CurrentDirectory;
            //domainsetup.ApplicationBase=System.Environment.CurrentDirectory;
            string driverPath = System.Environment.CurrentDirectory + "\\TestHarnessCS\\Server_Received\\" + lib.TestDriver;

            //Creating Evidence
            Evidence appEvidence = AppDomain.CurrentDomain.Evidence;

            lg.add("\nCreating child App Domain: ").displaycurrent();

            //Using Domain setup and evidence to create the Child application Domain
            AppDomain domain = AppDomain.CreateDomain(testRequest.TestDriver.Replace(".dll", "-AppDomain"));//, appEvidence, domainsetup);

            assem = Assembly.LoadFrom(driverPath);
            lg.add("\nApp Domain created: " + domain.FriendlyName);
            domain.Load(Path.GetFileNameWithoutExtension(lib.TestDriver));

            //domain.Load(assem.FullName + ".dll");
            Console.WriteLine("\nDisplaying Assemblies: ");
            showAssemblies(domain);
            Console.WriteLine("\n------------------------");
            string name = assem.GetName().Name;

            Console.WriteLine("\nRequirement 5 - Checking if Derived from ITest Interface");
            ITest tdr = null;

            Type[] types = assem.GetExportedTypes();
            foreach (Type t in types)
            {
                if (t.IsClass && typeof(ITest).IsAssignableFrom(t))
                {
                    try
                    {
                        tdr = (ITest)Activator.CreateInstance(t);
                        Console.WriteLine("Passed, This Test driver is derived from ITest Interface \n");
                    }
                    catch
                    {
                        Console.WriteLine("\n This test driver is not derived from ITest Interface \n");
                        continue;
                    }
                }
            }

            Console.Write("\n Child Domain name :" + domain.FriendlyName + "\n");
            Console.WriteLine("---------------------------------------------------------");
            time.Start();
            //ObjectHandle ohandle = domain.CreateInstance(lib.TestDriver.Replace(".dll", ""), "" + lib.TestDriver.Replace(".dll", ""));
            ObjectHandle ohandle = domain.CreateInstance(lib.TestDriver.Replace(".dll", ""), "TestHarnessCS." + name);
            Object       obj     = ohandle.Unwrap();
            ITest        TI      = (ITest)obj;
            bool         result  = TI.test();

            time.Stop();
            lg.add("\nThe result of the test is " + result + "\n  Executed in " + time.ElapsedMicroseconds + " ms");
            Console.Write("\n The result of the test is {0} , \n Executed in {1}  ms", result, time.ElapsedMicroseconds);
            AppDomain.Unload(domain);
            lg.add("\n");
            lg.add("Unloading Domain");
            lg.savetofile(driverPath + ".log");
            Console.WriteLine("\n ---------------------------Ending Test-------------------------------------------");
        }