public async Task BufferTest() { var local = new LocalEventManager(); local.StartListening(); var task = local.Take(1).Timeout(TimeSpan.FromSeconds(10)).ToTask(); await local.Publish(new AccountCreated(Guid.NewGuid(), string.Empty, string.Empty, string.Empty, DateTime.UtcNow, AccountRole.User, string.Empty, null), Topic.Account); await local.Stop(); await task; }
public async Task EventReceived() { var local = new LocalEventManager(); var manualResetEvent = new ManualResetEvent(false); local.Subscribe(_ => { }); local.Subscribe(_ => manualResetEvent.Set()); local.Subscribe(_ => { }); local.StartListening(); await local.Publish( new AccountCreated(Guid.NewGuid(), string.Empty, string.Empty, string.Empty, DateTime.UtcNow, AccountRole.User, string.Empty, null), Topic.Account); manualResetEvent.WaitOne(TimeSpan.FromSeconds(10)); }
public async Task NotBlockingTask() { var local = new LocalEventManager(); var keepRunning = true; local.Subscribe(_ => { while (keepRunning) { ; } }); local.StartListening(); await local.Publish(new AccountCreated(Guid.NewGuid(), string.Empty, string.Empty, string.Empty, DateTime.UtcNow, AccountRole.User, string.Empty, null), Topic.Account); keepRunning = false; }