Class HashedWheelTimerScheduler
This IScheduler implementation is built using a revolving wheel of buckets with each bucket belonging to a specific time resolution. As the "clock" of the scheduler ticks it advances to the next bucket in the circle and processes the items in it, and optionally reschedules recurring tasks into the future into the next relevant bucket.
There are akka.scheduler.ticks-per-wheel
initial buckets (we round up to the nearest power of 2) with 512
being the initial default value. The timings are approximated and are still limited by the ceiling of the operating
system's clock resolution.
Further reading: http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf Presentation: http://www.cse.wustl.edu/~cdgill/courses/cs6874/TimingWheels.ppt
Implements
Inherited Members
Namespace: Akka.Actor
Assembly: Akka.dll
Syntax
public sealed class HashedWheelTimerScheduler : SchedulerBase, IScheduler, ITellScheduler, IAdvancedScheduler, IActionScheduler, IRunnableScheduler, IDateTimeOffsetNowTimeProvider, ITimeProvider, IDisposable
Constructors
| Improve this Doc View SourceHashedWheelTimerScheduler(Config, ILoggingAdapter)
TBD
Declaration
public HashedWheelTimerScheduler(Config scheduler, ILoggingAdapter log)
Parameters
Type | Name | Description |
---|---|---|
Config | scheduler | TBD |
ILoggingAdapter | log | TBD |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | TBD |
Properties
| Improve this Doc View SourceHighResMonotonicClock
TBD
Declaration
public override TimeSpan HighResMonotonicClock { get; }
Property Value
Type | Description |
---|---|
TimeSpan |
Overrides
| Improve this Doc View SourceMonotonicClock
TBD
Declaration
public override TimeSpan MonotonicClock { get; }
Property Value
Type | Description |
---|---|
TimeSpan |
Overrides
| Improve this Doc View SourceTimeNow
TBD
Declaration
protected override DateTimeOffset TimeNow { get; }
Property Value
Type | Description |
---|---|
DateTimeOffset |
Overrides
Methods
| Improve this Doc View SourceDispose()
Declaration
public void Dispose()
InternalScheduleOnce(TimeSpan, IRunnable, ICancelable)
Declaration
protected override void InternalScheduleOnce(TimeSpan delay, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | |
IRunnable | action | |
ICancelable | cancelable |
Overrides
| Improve this Doc View SourceInternalScheduleOnce(TimeSpan, Action, ICancelable)
TBD
Declaration
protected override void InternalScheduleOnce(TimeSpan delay, Action action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | delay | TBD |
Action | action | TBD |
ICancelable | cancelable | TBD |
Overrides
| Improve this Doc View SourceInternalScheduleRepeatedly(TimeSpan, TimeSpan, IRunnable, ICancelable)
Declaration
protected override void InternalScheduleRepeatedly(TimeSpan initialDelay, TimeSpan interval, IRunnable action, ICancelable cancelable)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | initialDelay | |
TimeSpan | interval | |
IRunnable | action | |
ICancelable | cancelable |
Overrides
| Improve this Doc View SourceInternalScheduleRepeatedly(TimeSpan, TimeSpan, Action, ICancelable)
TBD
Declaration
protected override 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 |
Overrides
| Improve this Doc View SourceInternalScheduleTellOnce(TimeSpan, ICanTell, Object, IActorRef, ICancelable)
TBD
Declaration
protected override 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 |
Overrides
| Improve this Doc View SourceInternalScheduleTellRepeatedly(TimeSpan, TimeSpan, ICanTell, Object, IActorRef, ICancelable)
TBD
Declaration
protected override 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 |