コード例 #1
0
        public void Can_serialize_ClusterRouterPoolWithEmptyRole()
        {
            var roundRobinPool            = new RoundRobinPool(nrOfInstances: 4);
            var clusterRouterPoolSettings = new ClusterRouterPoolSettings(2, 5, true, null);
            var message = new ClusterRouterPool(roundRobinPool, clusterRouterPoolSettings);

            AssertEqual(message);
        }
コード例 #2
0
        //
        // Cluster routing
        //

        private byte[] ClusterRouterPoolToByteArray(ClusterRouterPool clusterRouterPool)
        {
            var message = new Proto.Msg.ClusterRouterPool();

            message.Pool     = PoolToProto(clusterRouterPool.Local);
            message.Settings = ClusterRouterPoolSettingsToProto(clusterRouterPool.Settings);
            return(message.ToByteArray());
        }
コード例 #3
0
        public void Can_serialize_ClusterRouterPool()
        {
            var roundRobinPool            = new RoundRobinPool(nrOfInstances: 4);
            var clusterRouterPoolSettings = new ClusterRouterPoolSettings(2, 5, true, "Richard, Duke");
            var message = new ClusterRouterPool(roundRobinPool, clusterRouterPoolSettings);

            AssertEqual(message);
        }
コード例 #4
0
        public TestRunActor(StartNewLoadTest message)
        {
            Console.WriteLine($"TestRun created");

            ClusterRouterPool config = new ClusterRouterPool(new BroadcastPool(message.NumberOfAgents),
                                                             new ClusterRouterPoolSettings(message.NumberOfAgents, message.NumberOfAgents, true, Constants.Roles.AGENT));
            var local  = new BroadcastPool(message.NumberOfAgents);
            var testId = Guid.NewGuid().ToString();

            Context.ActorOf(Props.Create(() => new AgentActor(message, testId)).WithRouter(config), TO_ACTOR_ROUTER_NAME);

            publishMediator = DistributedPubSub.Get(Context.System).Mediator;
            publishMediator.Tell(new Publish(Constants.Topics.TEST_TOPIC, new TestStarted(testId, message.Url)));
        }
コード例 #5
0
        private void Must_have_routees_at_startup()
        {
            AwaitClusterUp(_config.First, _config.Second, _config.Third);

            Within(TimeSpan.FromSeconds(20), () =>
            {
                RunOn(() =>
                {
                    var pool = new RoundRobinPool(10);
                    var routerPoolSettings = new ClusterRouterPoolSettings(1000, 1, true, "b");
                    var config             = new ClusterRouterPool(pool, routerPoolSettings);

                    var router = Sys.ActorOf(Props.Create(() => new EchoActor()).WithRouter(config), "myRouter");

                    AwaitAssert(() =>
                    {
                        router.Tell("i");
                        ExpectMsg("i", TimeSpan.FromMilliseconds(100));
                    }, interval: TimeSpan.FromMilliseconds(250));
                }, _config.First);

                EnterBarrier("after-1");
            });
        }