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

            _entries.Add(entry);
            return(entry);
        }
예제 #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);
        }
예제 #3
0
파일: Ticker.cs 프로젝트: Kaioru/Edelstein
        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();
        }
예제 #4
0
 public TickerManagerEntry(ITickerBehavior behavior, TimeSpan?frequency = null)
 {
     _behavior    = behavior;
     _frequency   = frequency ?? TimeSpan.Zero;
     _executeOnce = frequency == null;
 }
예제 #5
0
 public ITickerManagerEntry Execute(ITickerBehavior behavior, TimeSpan delay)
 => Execute(behavior, DateTime.UtcNow + delay);
예제 #6
0
 public ITickerManagerEntry Execute(ITickerBehavior behavior)
 => Execute(behavior, TimeSpan.Zero);
예제 #7
0
 public ITickerManagerEntry Schedule(ITickerBehavior behavior, TimeSpan frequency)
 => Schedule(behavior, frequency, TimeSpan.Zero);
예제 #8
0
 public ITickerManagerEntry Schedule(ITickerBehavior behavior)
 => Schedule(behavior, TimeSpan.Zero);