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
| Improve this Doc View SourceSchedulerBase(Config, ILoggingAdapter)
TBD
Declaration
protected SchedulerBase(Config scheduler, ILoggingAdapter log)
Parameters
Type | Name | Description |
---|---|---|
Config | scheduler | TBD |
ILoggingAdapter | log | TBD |
Fields
| Improve this Doc 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
| Improve this Doc 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
| Improve this Doc 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)
Declaration
public void ScheduleOnce(TimeSpan delay, IRunnable action)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
IRunnable | action |
ScheduleOnce(TimeSpan, IRunnable, ICancelable)
Declaration
public void ScheduleOnce(TimeSpan delay, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
IRunnable | action | |
ICancelable | cancelable |
ScheduleRepeatedly(TimeSpan, TimeSpan, IRunnable)
Declaration
public void ScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, IRunnable action)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
IRunnable | action |
ScheduleRepeatedly(TimeSpan, TimeSpan, IRunnable, ICancelable)
Declaration
public void ScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
IRunnable | action | |
ICancelable | cancelable |
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 |
Explicit Interface Implementations
| Improve this Doc View SourceIActionScheduler.ScheduleOnce(TimeSpan, Action)
Declaration
void IActionScheduler.ScheduleOnce(TimeSpan delay, Action action)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
Action | action |
IActionScheduler.ScheduleOnce(TimeSpan, Action, ICancelable)
Declaration
void IActionScheduler.ScheduleOnce(TimeSpan delay, Action action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
Action | action | |
ICancelable | cancelable |
IActionScheduler.ScheduleRepeatedly(TimeSpan, TimeSpan, Action)
Declaration
void IActionScheduler.ScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, Action action)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
Action | action |
IActionScheduler.ScheduleRepeatedly(TimeSpan, TimeSpan, Action, ICancelable)
Declaration
void IActionScheduler.ScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, Action action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
Action | action | |
ICancelable | cancelable |
IScheduler.Advanced
Declaration
IAdvancedScheduler IScheduler.Advanced { get; }
Returns
Type | Description |
---|---|
IAdvancedScheduler |
ITellScheduler.ScheduleTellOnce(TimeSpan, ICanTell, Object, IActorRef)
Declaration
void ITellScheduler.ScheduleTellOnce(TimeSpan delay, ICanTell receiver, object message, IActorRef sender)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
ICanTell | receiver | |
Object | message | |
IActorRef | sender |
ITellScheduler.ScheduleTellOnce(TimeSpan, ICanTell, Object, IActorRef, ICancelable)
Declaration
void ITellScheduler.ScheduleTellOnce(TimeSpan delay, ICanTell receiver, object message, IActorRef sender, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
ICanTell | receiver | |
Object | message | |
IActorRef | sender | |
ICancelable | cancelable |
ITellScheduler.ScheduleTellRepeatedly(TimeSpan, TimeSpan, ICanTell, Object, IActorRef)
Declaration
void ITellScheduler.ScheduleTellRepeatedly(TimeSpan initialDelay, TimeSpan interval, ICanTell receiver, object message, IActorRef sender)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
ICanTell | receiver | |
Object | message | |
IActorRef | sender |
ITellScheduler.ScheduleTellRepeatedly(TimeSpan, TimeSpan, ICanTell, Object, IActorRef, ICancelable)
Declaration
void ITellScheduler.ScheduleTellRepeatedly(TimeSpan initialDelay, TimeSpan interval, ICanTell receiver, object message, IActorRef sender, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
ICanTell | receiver | |
Object | message | |
IActorRef | sender | |
ICancelable | cancelable |
ITimeProvider.Now
Declaration
DateTimeOffset ITimeProvider.Now { get; }
Returns
Type | Description |
---|---|
DateTimeOffset |