using System; namespace UniRx { public interface IScheduler { DateTimeOffset Now { get; } // Interface is changed from official Rx for avoid iOS AOT problem (state is dangerous). IDisposable Schedule(Action action); IDisposable Schedule(TimeSpan dueTime, Action action); } public interface ISchedulerPeriodic { IDisposable SchedulePeriodic(TimeSpan period, Action action); } public interface ISchedulerLongRunning { IDisposable ScheduleLongRunning(Action action); } public interface ISchedulerQueueing { void ScheduleQueueing(ICancelable cancel, T state, Action action); } }