public void Test1() { var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); var pubsub = new PublishBuffer <int>(loggerFactory, "test"); Console.WriteLine("Start"); pubsub.Subscribe(Handler); pubsub.Put(1); pubsub.Put(2); pubsub.Put(3); Thread.Sleep(2000); pubsub.UnSubscribe(); Thread.Sleep(2000); Console.WriteLine("Done"); }
public void Test_Subscriber_Call_ASync() { var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); var pubsub = new PublishBuffer <int>(loggerFactory, "test"); Console.WriteLine("Start"); pubsub.Subscribe(HandlerDelayASync); Thread.Sleep(1000); Console.WriteLine("put 1"); pubsub.Put(1); Console.WriteLine("put 2"); pubsub.Put(2); Console.WriteLine("put 3"); pubsub.Put(3); Thread.Sleep(3000); pubsub.UnSubscribe(); Thread.Sleep(3000); Console.WriteLine("Done"); }
public void Test4() { var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); var pubsub = new PublishBuffer <int>(loggerFactory, "test"); Console.WriteLine("Start"); pubsub.Subscribe(HandlerASync); Thread.Sleep(1000); pubsub.Put(1); pubsub.UnSubscribe(); try { pubsub.Put(2); Assert.Fail("Expect exception"); } catch (Exception e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { var loggerFactory = LoggerFactory.Create(builder => builder.AddConsole()); var pubsub = new PublishBuffer <int>(loggerFactory, "test"); var token = new CancellationTokenSource(); Console.WriteLine("Start"); pubsub.Subscribe(Handler, token.Token); Thread.Sleep(2000); pubsub.Put(1); token.Cancel(); Thread.Sleep(2000); Console.WriteLine("Press enter ..."); Console.ReadLine(); Console.WriteLine("Done"); pubsub.Dispose(); }