AkkaPingpong.Program.DoLocalTest C# (CSharp) Метод

DoLocalTest() приватный статический Метод

private static DoLocalTest ( int actorCount, int pingCount ) : void
actorCount int
pingCount int
Результат void
        private static void DoLocalTest(int actorCount, int pingCount)
        {
            using (var system = ActorSystem.Create("System"))
            {
                // make clients and servers

                var t1 = new Stopwatch();
                t1.Start();

                var clients = new List<IActorRef>();
                for (int i = 0; i < actorCount; i++)
                {
                    var server = system.ActorOf(Props.Create<ServerActor>(), "Server_" + i);
                    var client = system.ActorOf(Props.Create<ClientActor>(server), "Client_" + i);
                    clients.Add(client);
                }

                var warmUpTasks = clients.Select(x =>
                    x.Ask<ClientMessages.StartResponse>(
                        new ClientMessages.StartRequest { Count = 1 })
                ).ToArray();
                Task.WaitAll(warmUpTasks);

                t1.Stop();
                Console.WriteLine($"Ready: {t1.Elapsed}");

                // test

                var t2 = new Stopwatch();
                t2.Start();

                var pingTasks = clients.Select(x =>
                    x.Ask<ClientMessages.StartResponse>(
                        new ClientMessages.StartRequest { Count = pingCount })
                ).ToArray();
                Task.WaitAll(pingTasks);

                t2.Stop();
                Console.WriteLine($"Test: {t2.Elapsed}");
            }
        }