YanCheng_Metrology/Assets/Plugins/UniRx/Scripts/Schedulers/IScheduler.cs

30 lines
707 B
C#

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<ICancelable> action);
}
public interface ISchedulerQueueing
{
void ScheduleQueueing<T>(ICancelable cancel, T state, Action<T> action);
}
}