コード例 #1
0
ファイル: GameController_script.cs プロジェクト: Dstaal/test
    // Use this for initialization
    void Awake()
    {
        if (StaticRef == null) // if theres is not allerdaye a static ref makes this the static ref
        {
            DontDestroyOnLoad(gameObject);
            StaticRef = this;
        }
        else if (StaticRef != this) // is the allready is a ref , destory this
        {
            Destroy(this);
        }

        currentState = State.setup;

        currentScenario = scenario.None; //remeber you set it to none here. if at some point you don't why the printed stuff keeps say none

        mainMenu = canvas.GetComponentInChildren <CanvasGroup>();
    }
コード例 #2
0
        /// <summary>
        /// Description: Valida la selección de un escenario
        /// </summary>
        private void _finishButton_btn_Click(object sender, RoutedEventArgs e)
        {
            scenario scenarioSelected = _scenarioGridView_rgv.SelectedItem as scenario;

            if (scenarioSelected != null)
            {
                _parent_win.Show();
                this.Close();
            }
            else
            {
                RadWindow.Alert(new DialogParameters
                {
                    Header          = "Alert",
                    Content         = "Select scenario and press finish",
                    OkButtonContent = "Ok",
                    Owner           = this
                });
            }
        }
コード例 #3
0
        public void measureThis(ref scenario sce)
        {
            Console.WriteLine("measureThis " + sce.desc);
            if (sce.root == null)
            {
                return;
            }
            Console.WriteLine(sce.compressCode);
            MemoryStream memStream         = null;
            var          times             = new List <long>(SampleCount);
            var          timesRead         = new List <long>(SampleCount);
            var          timesFileWrite    = new List <long>(SampleCount);
            var          timesFileRead     = new List <long>(SampleCount);
            var          timesFileSSDWrite = new List <long>(SampleCount);
            var          timesFileSSDRead  = new List <long>(SampleCount);

            var  sw           = new Stopwatch();
            long streamLength = 0;

            for (var j = 0; j < SampleCount; j++)
            {
                //memStream = new MemoryStream(buffer); // THIS IS BROKEN in .Net so far as toArray().
                memStream = new MemoryStream();

                // doing a warm run for JIT first with no measure might improve consistency of results.. as well.
                //{   // trying to make benchmark a little more consistent.
                //    GC.Collect();
                //    System.Threading.Thread.Sleep(100);
                //}
                sw.Reset();
                sw.Start();
                sce.writer(memStream);
                sw.Stop();
                times.Add(sw.ElapsedMilliseconds);

                var writtenBuffer = memStream.ToArray();
                //Console.WriteLine("writtenBuffer.Length {0}", writtenBuffer.Length);
                streamLength = writtenBuffer.Length;

                //var b = memStream.GetBuffer();
                //Buffer.BlockCopy(buffer, 0, buffer2, 0, (int)streamLength);
                //str.Close();

                // read stream stuff.
                if (sce.read != null)
                {
                    //var ms2 = new MemoryStream(buffer, 0, (int)streamLength); // our captured buffer as read stream.
                    var ms2 = new MemoryStream(writtenBuffer); // our captured buffer as read stream.
                    sw.Reset();
                    sw.Start();
                    var r = sce.read(ms2);
                    r.stream.Close();
                    sw.Stop();
                    r.root = null;

                    timesRead.Add(sw.ElapsedMilliseconds);
                }

                if (!string.IsNullOrEmpty(sce.fqFileName))
                {
                    //Console.WriteLine(sce.fqFileName);

                    // write file test
                    sw.Reset();
                    sw.Start();
                    using (var fs = File.Open(sce.fqFileName, FileMode.Create))
                    {
                        sce.writer(fs);
                    }
                    sw.Stop();
                    timesFileWrite.Add(sw.ElapsedMilliseconds);

                    if (sce.read != null)
                    {
                        // read file test
                        sw.Reset();
                        sw.Start();
                        using (var fs = new FileStream(sce.fqFileName, FileMode.Open, FileAccess.Read))
                        {
                            sce.read(fs);
                        }
                        sw.Stop();
                        timesFileRead.Add(sw.ElapsedMilliseconds);
                    }

                    var ssdFile = @"C:\" + sce.fqFileName;
                    // write file test
                    sw.Reset();
                    sw.Start();
                    using (var fs = File.Open(ssdFile, FileMode.Create))
                    {
                        sce.writer(fs);
                    }
                    sw.Stop();
                    timesFileSSDWrite.Add(sw.ElapsedMilliseconds);

                    if (sce.read != null)
                    {
                        // read file test
                        sw.Reset();
                        sw.Start();
                        using (var fs = new FileStream(ssdFile, FileMode.Open, FileAccess.Read))
                        {
                            sce.read(fs);
                        }
                        sw.Stop();
                        timesFileSSDRead.Add(sw.ElapsedMilliseconds);
                    }
                }
            }
            //Console.WriteLine("memStream.Length");
            //Console.WriteLine(memStream.Length);
            sce.writtenSize = streamLength;
            sce.counter();
            sce.writeDuration = (long)Math.Floor(times.Average());
            if (timesRead.Count == SampleCount)
            {
                sce.readDuration = (long)Math.Floor(timesRead.Average());
            }
            sce.writeFileDuration    = (long)Math.Floor(timesFileWrite.Average());
            sce.readFileDuration     = (long)Math.Floor(timesFileRead.Average());
            sce.writeFileSSDDuration = (long)Math.Floor(timesFileSSDWrite.Average());
            sce.readFileSSDDuration  = (long)Math.Floor(timesFileSSDRead.Average());
            sce.sampleCount          = SampleCount;
        }
コード例 #4
0
ファイル: GameController_script.cs プロジェクト: Dstaal/test
 public void ClickedOnScenarioC_Bnt()
 {
     currentScenario = scenario.scenario_C;
     currentState    = State.starting;
     Debug.Log("trying to set scenario to C");
 }
コード例 #5
0
        static void client()
        {
            while (true)
            {
                Console.WriteLine("write message:");
                String message = Console.ReadLine();
                Console.WriteLine("0=> no errors , 1=> inverse ack , 2=>timeout , 3=>corrupt Data");
                int condition = Convert.ToInt16(Console.ReadLine());

                switch (condition)
                {
                case 0:
                    global_scenario = scenario.None;
                    break;

                case 1:
                    global_scenario = scenario.inverse_ack;
                    break;

                case 2:
                    global_scenario = scenario.timeout;
                    break;

                case 3:
                    global_scenario = scenario.corrupt_data;
                    break;
                }

                String     true_message     = message;
                String     check_sum_output = Checksum(true_message);
                var        client           = new UdpClient();
                IPEndPoint ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000); // endpoint where server is listening
                client.Connect(ep);

                required_ack  = 0;
                prev_interval = elapsed_intervals;

                message = "packet:0,check_sum:" + check_sum_output + "," + message;

                int    size          = ASCIIEncoding.ASCII.GetByteCount(message);
                byte[] message_array = Encoding.ASCII.GetBytes(message);
                client.Send(message_array, size);

                //handeling both no errors & inverse_ack
                while (true)
                {
                    var    receivedData_0     = client.Receive(ref ep);
                    String received_message_0 = Encoding.UTF8.GetString(receivedData_0);
                    if (received_message_0 != null)
                    {
                        Console.Write("client recieved: " + received_message_0 + Environment.NewLine);

                        if (elapsed_intervals <= prev_interval + 1)
                        {
                            prev_interval = elapsed_intervals;

                            //if ack == 0 ==>send next packet
                            if (Convert.ToInt16(received_message_0.Substring(received_message_0.IndexOf(':') + 1)) == required_ack)
                            {
                                if (required_ack == 1 && Convert.ToInt16(received_message_0.Substring(received_message_0.IndexOf(':') + 1)) == 1)
                                {
                                    break;
                                }

                                required_ack++;

                                String seq_1_message   = "packet:" + required_ack + "," + "check_sum:" + check_sum_output + "," + true_message;
                                int    size_1          = ASCIIEncoding.ASCII.GetByteCount(seq_1_message);
                                byte[] message_array_1 = Encoding.ASCII.GetBytes(seq_1_message);
                                client.Send(message_array_1, size_1);
                            }
                            else //ack=1 and we wanted it 0 ==> send again
                            {
                                String message_0_again = "packet:" + required_ack + "," + "check_sum:" + check_sum_output + "," + true_message;

                                int    size_0_again          = ASCIIEncoding.ASCII.GetByteCount(message_0_again);
                                byte[] message_array_0_again = Encoding.ASCII.GetBytes(message_0_again);
                                client.Send(message_array_0_again, size_0_again);
                                global_scenario = scenario.None;
                            }
                        }
                        else //timeout occurs  ==>send message again
                        {
                            prev_interval = elapsed_intervals;

                            String message_0_again = "packet:" + required_ack + "," + "check_sum:" + check_sum_output + "," + true_message;

                            int    size_0_again          = ASCIIEncoding.ASCII.GetByteCount(message_0_again);
                            byte[] message_array_0_again = Encoding.ASCII.GetBytes(message_0_again);
                            client.Send(message_array_0_again, size_0_again);
                            global_scenario = scenario.None;
                        }
                    }
                }
            }
        }
コード例 #6
0
 public void ClickedOnScenarioR_Bnt()
 {
     currentScenario = scenario.scenario_R;
     currentState = State.starting;
     Debug.Log("trying to set scenario to R");
 }
コード例 #7
0
    // Use this for initialization
    void Awake()
    {
        if(StaticRef == null) // if theres is not allerdaye a static ref makes this the static ref
        {
            DontDestroyOnLoad(gameObject);
            StaticRef = this;
        }
        else if(StaticRef != this) // is the allready is a ref , destory this
        {
            Destroy(this);
        }

        currentState = State.setup;

        currentScenario = scenario.None; //remeber you set it to none here. if at some point you don't why the printed stuff keeps say none

        mainMenu = canvas.GetComponentInChildren<CanvasGroup>();
    }