public ITickerManagerEntry Execute(ITickerBehavior behavior, DateTime date) { var entry = new TickerManagerEntry(behavior) { NextTick = date }; _entries.Add(entry); return(entry); }
public ITickerManagerEntry Schedule(ITickerBehavior behavior, TimeSpan frequency, TimeSpan delay) { var entry = new TickerManagerEntry(behavior, frequency) { NextTick = DateTime.UtcNow + delay }; _entries.Add(entry); return(entry); }
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(); }
public TickerManagerEntry(ITickerBehavior behavior, TimeSpan?frequency = null) { _behavior = behavior; _frequency = frequency ?? TimeSpan.Zero; _executeOnce = frequency == null; }
public ITickerManagerEntry Execute(ITickerBehavior behavior, TimeSpan delay) => Execute(behavior, DateTime.UtcNow + delay);
public ITickerManagerEntry Execute(ITickerBehavior behavior) => Execute(behavior, TimeSpan.Zero);
public ITickerManagerEntry Schedule(ITickerBehavior behavior, TimeSpan frequency) => Schedule(behavior, frequency, TimeSpan.Zero);
public ITickerManagerEntry Schedule(ITickerBehavior behavior) => Schedule(behavior, TimeSpan.Zero);