Exemplo n.º 1
0
        public async Task TestNoTask(IActorFactory fact)
        {
            Output(fact.Type.ToString());

            var one    = new PingPongerSimple("Bjorg");
            var actor1 = fact.Build <IPingPonger>(one);

            var two    = new PingPongerSimple("Lendl");
            var actor2 = fact.Build <IPingPonger>(two);

            one.Ponger = actor2;
            two.Ponger = actor1;

            var watch = Stopwatch.StartNew();

            actor1.Ping();
            Thread.Sleep(10000);

            await fact.DisposeAsync();

            watch.Stop();

            Output($"Total Ping:{one.Count}, Total Pong:{two.Count} Total Time: {watch.ElapsedMilliseconds} ms");
            Output($"Operation/ms:{(one.Count + two.Count) / watch.ElapsedMilliseconds}");
        }
Exemplo n.º 2
0
        public async Task TestTask_T_CancellationToken(IActorFactory fact)
        {
            Output(fact.Type.ToString());

            var one    = new PingPongerAsyncCancellable("Noa");
            var actor1 = fact.Build <IPingPongerAsyncCancellable>(one);

            var two    = new PingPongerAsyncCancellable("Wilander");
            var actor2 = fact.Build <IPingPongerAsyncCancellable>(two);

            one.PongerAsync = actor2;
            two.PongerAsync = actor1;

            var watch = Stopwatch.StartNew();

            await actor1.Ping(CancellationToken.None);

            Thread.Sleep(10000);

            await fact.DisposeAsync();

            watch.Stop();

            Output($"Total Ping:{one.Count}, Total Pong:{two.Count} Total Time: {watch.ElapsedMilliseconds} ms");
            Output($"Operation/ms:{(one.Count + two.Count) / watch.ElapsedMilliseconds}");
        }
Exemplo n.º 3
0
 public Task DisposeAsync() => _Factory.DisposeAsync();
 public async Task DisposeAsync()
 {
     await _Factory.DisposeAsync();
 }