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}"); }
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}"); }
public Task DisposeAsync() => _Factory.DisposeAsync();
public async Task DisposeAsync() { await _Factory.DisposeAsync(); }