public void SetReactiveTimer(TimeSpan period)
        {
            _cyclicTimer    = new CyclicService(period);
            _tickObservable = Observable.FromEventPattern <CyclicEvent>(_cyclicTimer, "Tick");
            _observer       = _tickObservable.Subscribe(x => SendAll(ping));

            _cyclicTimer.Start();
        }
Example #2
0
        public void ReactiveTimerTest()
        {
            using (CyclicService _cyclicTimer = new CyclicService(TimeSpan.FromSeconds(1)))
            {
                int counter = 0;

                IObservable <System.Reactive.EventPattern <CyclicEvent> > _tickObservable = Observable.FromEventPattern <CyclicEvent>(_cyclicTimer, "Tick");

                Assert.AreEqual(0, counter);

                using (IDisposable _observer = _tickObservable.Subscribe(x => counter++))
                {
                    _cyclicTimer.Start();
                    System.Threading.Thread.Sleep(2000);
                }

                Assert.AreNotEqual(0, counter);
            }
        }