<PackageReference Include="Relativity.Transfer.Client" Version="7.2.26" />

VirtualTimeSchedulerBase<TAbsolute, TRelative>

public abstract class VirtualTimeSchedulerBase<TAbsolute, TRelative> : IScheduler, IServiceProvider, IStopwatchProvider where TAbsolute : IComparable<TAbsolute>
public TAbsolute Clock { get; protected set; }

protected IComparer<TAbsolute> Comparer { get; }

public bool IsEnabled { get; }

public DateTimeOffset Now { get; }

protected VirtualTimeSchedulerBase(TAbsolute initialClock, IComparer<TAbsolute> comparer)

protected abstract TAbsolute Add(TAbsolute absolute, TRelative relative)

public void AdvanceBy(TRelative time)

public void AdvanceTo(TAbsolute time)

protected abstract IScheduledItem<TAbsolute> GetNext()

protected virtual object GetService(Type serviceType)

public IDisposable Schedule<TState>(TState state, Func<IScheduler, TState, IDisposable> action)

public IDisposable Schedule<TState>(TState state, TimeSpan dueTime, Func<IScheduler, TState, IDisposable> action)

public IDisposable Schedule<TState>(TState state, DateTimeOffset dueTime, Func<IScheduler, TState, IDisposable> action)

public abstract IDisposable ScheduleAbsolute<TState>(TState state, TAbsolute dueTime, Func<IScheduler, TState, IDisposable> action)

public IDisposable ScheduleRelative<TState>(TState state, TRelative dueTime, Func<IScheduler, TState, IDisposable> action)

public void Sleep(TRelative time)

public void Start()

public void Stop()

protected abstract DateTimeOffset ToDateTimeOffset(TAbsolute absolute)

protected abstract TRelative ToRelative(TimeSpan timeSpan)