Beispiel #1
0
        public ITickerManagerEntry Execute(ITickerBehavior behavior, DateTime date)
        {
            var entry = new TickerManagerEntry(behavior)
            {
                NextTick = date
            };

            _entries.Add(entry);
            return(entry);
        }
Beispiel #2
0
        public ITickerManagerEntry Schedule(ITickerBehavior behavior, TimeSpan frequency, TimeSpan delay)
        {
            var entry = new TickerManagerEntry(behavior, frequency)
            {
                NextTick = DateTime.UtcNow + delay
            };

            _entries.Add(entry);
            return(entry);
        }
Beispiel #3
0
        public Ticker(
            ITickerBehavior behavior,
            int refreshRate          = 4,
            ILogger <ITicker> logger = null
            )
        {
            _source      = new CancellationTokenSource();
            _stopwatch   = new Stopwatch();
            _behavior    = behavior;
            _refreshRate = refreshRate;
            _logger      = logger ?? new NullLogger <ITicker>();

            _stopwatch.Start();
        }
Beispiel #4
0
 public TickerManagerEntry(ITickerBehavior behavior, TimeSpan?frequency = null)
 {
     _behavior    = behavior;
     _frequency   = frequency ?? TimeSpan.Zero;
     _executeOnce = frequency == null;
 }
Beispiel #5
0
 public ITickerManagerEntry Execute(ITickerBehavior behavior, TimeSpan delay)
 => Execute(behavior, DateTime.UtcNow + delay);
Beispiel #6
0
 public ITickerManagerEntry Execute(ITickerBehavior behavior)
 => Execute(behavior, TimeSpan.Zero);
Beispiel #7
0
 public ITickerManagerEntry Schedule(ITickerBehavior behavior, TimeSpan frequency)
 => Schedule(behavior, frequency, TimeSpan.Zero);
Beispiel #8
0
 public ITickerManagerEntry Schedule(ITickerBehavior behavior)
 => Schedule(behavior, TimeSpan.Zero);