Share via


VirtualTimeSchedulerBase<TAbsolute, TRelative> Class

Represents the base class for virtual time schedulers.

Inheritance Hierarchy

System.Object
  System.Reactive.Concurrency.VirtualTimeSchedulerBase<TAbsolute, TRelative>
    System.Reactive.Concurrency.HistoricalSchedulerBase
    System.Reactive.Concurrency.VirtualTimeScheduler<TAbsolute, TRelative>

Namespace:  System.Reactive.Concurrency
Assembly:  System.Reactive (in System.Reactive.dll)

Syntax

'Declaration
Public MustInherit Class VirtualTimeSchedulerBase(Of TAbsolute, TRelative) _
    Implements IScheduler
'Usage
Dim instance As VirtualTimeSchedulerBase(Of TAbsolute, TRelative)
public abstract class VirtualTimeSchedulerBase<TAbsolute, TRelative> : IScheduler
generic<typename TAbsolute, typename TRelative>
public ref class VirtualTimeSchedulerBase abstract : IScheduler
[<AbstractClassAttribute>]
type VirtualTimeSchedulerBase<'TAbsolute, 'TRelative> =  
    class
        interface IScheduler
    end
JScript does not support generic types and methods.

Type Parameters

  • TAbsolute
    The absolute time argument type.
  • TRelative
    The relative time argument type.

The VirtualTimeSchedulerBase<TAbsolute, TRelative> type exposes the following members.

Constructors

  Name Description
Protected method VirtualTimeSchedulerBase<TAbsolute, TRelative>() Creates a new virtual time scheduler with the default value of TAbsolute for the initial clock value.
Protected method VirtualTimeSchedulerBase<TAbsolute, TRelative>(TAbsolute, IComparer<TAbsolute>) Creates a new virtual time scheduler.

Top

Properties

  Name Description
Public property Clock Gets the scheduler's absolute time clock value.
Protected property Comparer Gets the comparer used to compare absolute time values.
Public property IsEnabled Gets whether the scheduler is enabled to run work.
Public property Now Gets the scheduler's notion of current time.

Top

Methods

  Name Description
Protected method Add Adds a relative time to an absolute time value.
Public method AdvanceBy Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan.
Public method AdvanceTo Advances the scheduler's clock to the specified time, running all work till that point.
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Protected method GetNext Gets the next scheduled item to be executed.
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Public method Schedule<TState>(TState, Func<IScheduler, TState, IDisposable>) Schedules an action to be executed.
Public method Schedule<TState>(TState, DateTimeOffset, Func<IScheduler, TState, IDisposable>) Schedules an action to be executed at dueTime.
Public method Schedule<TState>(TState, TimeSpan, Func<IScheduler, TState, IDisposable>) Schedules an action to be executed after dueTime.
Public method ScheduleAbsolute<TState> Schedules an action to be executed at dueTime.
Public method ScheduleRelative<TState> Schedules an action to be executed at dueTime.
Public method Start Starts the virtual time scheduler.
Public method Stop Stops the virtual time scheduler.
Protected method ToDateTimeOffset Converts the absolute time value to a DateTimeOffset value.
Protected method ToRelative Converts the TimeSpan value to a relative time value.
Public method ToString (Inherited from Object.)

Top

Extension Methods

  Name Description
Public Extension Method Schedule(Action) Overloaded. Schedules an action to be executed. (Defined by Scheduler.)
Public Extension Method Schedule(Action<Action>) Overloaded. Schedules an action to be executed recursively. (Defined by Scheduler.)
Public Extension Method Schedule(TimeSpan, Action) Overloaded. Schedules an action to be executed after dueTime. (Defined by Scheduler.)
Public Extension Method Schedule(DateTimeOffset, Action) Overloaded. Schedules an action to be executed at dueTime. (Defined by Scheduler.)
Public Extension Method Schedule(TimeSpan, Action<Action<TimeSpan>>) Overloaded. Schedules an action to be executed recursively after each dueTime. (Defined by Scheduler.)
Public Extension Method Schedule(DateTimeOffset, Action<Action<DateTimeOffset>>) Overloaded. Schedules an action to be executed after dueTime. (Defined by Scheduler.)
Public Extension Method Schedule<TState>(TState, Action<TState, Action<TState>>) Overloaded. Schedules an action to be executed recursively. (Defined by Scheduler.)
Public Extension Method Schedule<TState>(TState, TimeSpan, Action<TState, Action<TState, TimeSpan>>) Overloaded. Schedules an action to be executed recursively after each dueTime. (Defined by Scheduler.)
Public Extension Method Schedule<TState>(TState, DateTimeOffset, Action<TState, Action<TState, DateTimeOffset>>) Overloaded. Schedules an action to be executed recursively at each dueTime. (Defined by Scheduler.)

Top

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

System.Reactive.Concurrency Namespace