///<summary> /// Enqueues action on to context after timer elapses. ///</summary> public IDisposable Schedule(Action action, long firstInMs) { if (firstInMs <= 0) { var pending = new PendingAction(action); _executionContext.Enqueue(pending.Execute); return pending; } else { var pending = new TimerAction(action, firstInMs, Timeout.Infinite); AddPending(pending); return pending; } }
///<summary> /// Enqueues action on to context after timer elapses. ///</summary> public IDisposable Schedule(Action action, int firstInMs) { if (firstInMs <= 0) { var pending = new PendingAction(action); _executionContext.Enqueue(pending.Execute); return(pending); } else { var pending = new TimerAction(action, firstInMs, Timeout.Infinite); AddPending(pending); return(pending); } }