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

            _entries.Add(entry);
            return(entry);
        }
Esempio n. 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);
        }
Esempio n. 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();
        }
Esempio n. 4
0
 public TickerManagerEntry(ITickerBehavior behavior, TimeSpan?frequency = null)
 {
     _behavior    = behavior;
     _frequency   = frequency ?? TimeSpan.Zero;
     _executeOnce = frequency == null;
 }
Esempio n. 5
0
 public ITickerManagerEntry Execute(ITickerBehavior behavior, TimeSpan delay)
 => Execute(behavior, DateTime.UtcNow + delay);
Esempio n. 6
0
 public ITickerManagerEntry Execute(ITickerBehavior behavior)
 => Execute(behavior, TimeSpan.Zero);
Esempio n. 7
0
 public ITickerManagerEntry Schedule(ITickerBehavior behavior, TimeSpan frequency)
 => Schedule(behavior, frequency, TimeSpan.Zero);
Esempio n. 8
0
 public ITickerManagerEntry Schedule(ITickerBehavior behavior)
 => Schedule(behavior, TimeSpan.Zero);