Esempio n. 1
0
        public void ConcurrencyTest_ModifyReturnList()
        {
            IConcurrentGrain grain = this.fixture.GrainFactory.GetGrain<IConcurrentGrain>(GetRandomGrainId());

            Task<List<int>>[] ll = new Task<List<int>>[20];
            for (int i = 0; i < 2000; i++)
            {
                for (int j = 0; j < ll.Length; j++)
                    ll[j] = grain.ModifyReturnList_Test();

                Task.WhenAll(ll).Wait();
            }
        }
Esempio n. 2
0
        public async Task ConcurrencyTest_ReadOnly()
        {
            IConcurrentGrain first = this.fixture.GrainFactory.GetGrain<IConcurrentGrain>(GetRandomGrainId());
            first.Initialize(0).Wait();

            List<Task> promises = new List<Task>();
            for (int i = 0; i < 5; i++)
            {
                Task p = first.A();
                promises.Add(p);
            }
            await Task.WhenAll(promises);
        }
Esempio n. 3
0
        public async Task Initialize(int ind)
        {
            this.index = ind;
            logger.LogInformation("Initialize({Index})", index);
            if (index == 0)
            {
                children = new List <IConcurrentGrain>();
                for (int i = 0; i < 1; i++)
                {
                    IConcurrentGrain grain = GrainFactory.GetGrain <IConcurrentGrain>((new Random()).Next());
                    await grain.Initialize(i + 1);

                    children.Add(grain);
                }
            }
        }
Esempio n. 4
0
        public async Task ConcurrencyTest_ReadOnly()
        {
            IConcurrentGrain first = GrainClient.GrainFactory.GetGrain <IConcurrentGrain>(GetRandomGrainId());

            first.Initialize(0).Wait();

            List <Task> promises = new List <Task>();

            for (int i = 0; i < 5; i++)
            {
                Task p = first.A();
                promises.Add(p);
            }
            await Task.WhenAll(promises);

            Console.WriteLine("\n\nENDED TEST\n\n");
        }
Esempio n. 5
0
        public async Task Initialize(int ind)
        {
            index  = ind;
            logger = this.GetLogger("ConcurrentGrain-" + index);
            logger.Info("Initialize(" + index + ")");
            if (index == 0)
            {
                children = new List <IConcurrentGrain>();
                for (int i = 0; i < 1; i++)
                {
                    IConcurrentGrain grain = GrainFactory.GetGrain <IConcurrentGrain>((new Random()).Next());
                    await grain.Initialize(i + 1);

                    children.Add(grain);
                }
            }
        }
Esempio n. 6
0
        public void ConcurrencyTest_ModifyReturnList()
        {
            IConcurrentGrain grain = GrainClient.GrainFactory.GetGrain <IConcurrentGrain>(GetRandomGrainId());

            Console.WriteLine("\n\nStarting TEST\n\n");

            Task <List <int> >[] ll = new Task <List <int> > [20];
            for (int i = 0; i < 2000; i++)
            {
                for (int j = 0; j < ll.Length; j++)
                {
                    ll[j] = grain.ModifyReturnList_Test();
                }

                Task.WhenAll(ll).Wait();
                Console.Write(".");
            }
            Console.WriteLine("\n\nENDED TEST\n\n");
        }