Class SchedulerBase
Abstract base class for implementing any custom IScheduler implementation used by Akka.NET.
All constructed schedulers are expected to support the Config and ILoggingAdapter arguments provided on the default constructor for this class.
Implements
Inherited Members
Namespace: Akka.Actor
Assembly: Akka.dll
Syntax
public abstract class SchedulerBase : IScheduler, ITellScheduler, ITimeProvider, IAdvancedScheduler, IActionScheduler, IRunnableScheduler
Constructors
| Edit this page View SourceSchedulerBase(Config, ILoggingAdapter)
TBD
Declaration
protected SchedulerBase(Config scheduler, ILoggingAdapter log)
Parameters
Type | Name | Description |
---|---|---|
Config | scheduler | TBD |
ILoggingAdapter | log | TBD |
Fields
| Edit this page View SourceLog
The ILoggingAdapter provided by the ActorSystem at startup.
Declaration
protected readonly ILoggingAdapter Log
Field Value
Type | Description |
---|---|
ILoggingAdapter |
SchedulerConfig
The configuration section for a specific IScheduler implementation.
Declaration
protected readonly Config SchedulerConfig
Field Value
Type | Description |
---|---|
Config |
Properties
| Edit this page View SourceHighResMonotonicClock
The current time since startup, as determined by the high resolution monotonic clock implementation.
Declaration
public abstract TimeSpan HighResMonotonicClock { get; }
Property Value
Type | Description |
---|---|
TimeSpan |
Remarks
Typically uses MonotonicClock in most implementations, but in some cases a custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit.
MonotonicClock
The current time since startup, as determined by the monotonic clock implementation.
Declaration
public abstract TimeSpan MonotonicClock { get; }
Property Value
Type | Description |
---|---|
TimeSpan |
Remarks
Typically uses MonotonicClock in most implementations, but in some cases a custom implementation is used - such as when we need to do virtual time scheduling in the Akka.TestKit.
TimeNow
The current time in UTC.
Declaration
protected abstract DateTimeOffset TimeNow { get; }
Property Value
Type | Description |
---|---|
DateTimeOffset |
Methods
| Edit this page View SourceInternalScheduleOnce(TimeSpan, IRunnable, ICancelable)
TBD
Declaration
protected abstract void InternalScheduleOnce(TimeSpan delay, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | TBD |
IRunnable | action | TBD |
ICancelable | cancelable | TBD |
InternalScheduleOnce(TimeSpan, Action, ICancelable)
TBD
Declaration
protected abstract void InternalScheduleOnce(TimeSpan delay, Action action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | TBD |
Action | action | TBD |
ICancelable | cancelable | TBD |
InternalScheduleRepeatedly(TimeSpan, TimeSpan, IRunnable, ICancelable)
Declaration
protected abstract void InternalScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
IRunnable | action | |
ICancelable | cancelable |
InternalScheduleRepeatedly(TimeSpan, TimeSpan, Action, ICancelable)
TBD
Declaration
protected abstract void InternalScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, Action action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | TBD |
TimeSpan | interval | TBD |
Action | action | TBD |
ICancelable | cancelable | TBD |
InternalScheduleTellOnce(TimeSpan, ICanTell, object, IActorRef, ICancelable)
TBD
Declaration
protected abstract void InternalScheduleTellOnce(TimeSpan delay, ICanTell receiver, object message, IActorRef sender, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | TBD |
ICanTell | receiver | TBD |
object | message | TBD |
IActorRef | sender | TBD |
ICancelable | cancelable | TBD |
InternalScheduleTellRepeatedly(TimeSpan, TimeSpan, ICanTell, object, IActorRef, ICancelable)
TBD
Declaration
protected abstract void InternalScheduleTellRepeatedly(TimeSpan initialDelay, TimeSpan interval, ICanTell receiver, object message, IActorRef sender, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | TBD |
TimeSpan | interval | TBD |
ICanTell | receiver | TBD |
object | message | TBD |
IActorRef | sender | TBD |
ICancelable | cancelable | TBD |
ScheduleOnce(TimeSpan, IRunnable)
Schedules an action to be invoked after a delay. The action is wrapped so that it
completes inside the currently active actor if it is called from within an actor.
Declaration
public void ScheduleOnce(TimeSpan delay, IRunnable action)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | The time period that has to pass before the action is invoked. |
IRunnable | action | The action that is being scheduled. |
ScheduleOnce(TimeSpan, IRunnable, ICancelable)
Schedules an action to be invoked after a delay. The action is wrapped so that it
completes inside the currently active actor if it is called from within an actor.
Declaration
public void ScheduleOnce(TimeSpan delay, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | The time period that has to pass before the action is invoked. |
IRunnable | action | The action that is being scheduled. |
ICancelable | cancelable | A cancelable used to cancel the action from being executed. |
ScheduleRepeatedly(TimeSpan, TimeSpan, IRunnable)
Schedules an action to be invoked after an initial delay and then repeatedly.
The action is wrapped so that it completes inside the currently active actor
if it is called from within an actor.
Declaration
public void ScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, IRunnable action)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | The time period that has to pass before first invocation of the action. |
TimeSpan | interval | The time period that has to pass between each invocation of the action. |
IRunnable | action | The action that is being scheduled. |
ScheduleRepeatedly(TimeSpan, TimeSpan, IRunnable, ICancelable)
Schedules an action to be invoked after an initial delay and then repeatedly.
The action is wrapped so that it completes inside the currently active actor
if it is called from within an actor.
Declaration
public void ScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | The time period that has to pass before first invocation of the action. |
TimeSpan | interval | The time period that has to pass between each invocation of the action. |
IRunnable | action | The action that is being scheduled. |
ICancelable | cancelable | A cancelable used to cancel the action from being executed. |
ValidateDelay(TimeSpan, string)
TBD
Declaration
protected static void ValidateDelay(TimeSpan delay, string parameterName)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | TBD |
string | parameterName | TBD |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | This exception is thrown if the given |
ValidateInterval(TimeSpan, string)
TBD
Declaration
protected static void ValidateInterval(TimeSpan interval, string parameterName)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | interval | TBD |
string | parameterName | TBD |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | This exception is thrown if the given |