Esempio n. 1
0
        private static void TestSync()
        {
            Client c = new Client(TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(3));

            c.Error += (sender, errorArgs) => { Console.WriteLine($"Error: {errorArgs.Info}"); };
            c.Connect("tcp://127.0.0.1:1234");

            string s = c.Invoke <string>("strftime", "%Y/%m/%d");

            Console.WriteLine($"Got time: {s}");

            Console.WriteLine("Fail test:");
            try
            {
                c.Invoke("asd", "%Y/%m/%d");
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            var    clock    = c.CreateDelegate <double>("clock");
            double t        = 0;
            double prevTime = -1;

            for (int i = 0; i < 10; i++)
            {
                double cc = clock();
                if (prevTime > 0)
                {
                    t += cc - prevTime;
                }
                prevTime = cc;
                Console.WriteLine($"Clock {i + 1}: {cc}");
            }

            Console.WriteLine($"Average wait: {t / 9} seconds");

            c.Dispose();
            Console.WriteLine("Done");
            Console.ReadKey();
        }