concurrency.timingwheels

Members

Classes

AdvanceWheelError
class AdvanceWheelError

Advancing error occurs if number of ticks for advance not in range 0<t<=256

CancelTimerError
class CancelTimerError

Cancel timer error occurs if you try to cancel timer which is not scheduled.

ScheduleTimerError
class ScheduleTimerError

scheduling error occurs at schedule() when ticks == 0 or timer already scheduled.

Functions

safe_tracef
void safe_tracef(string f, A args, string file, int line)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

TimingWheels
struct TimingWheels(T)

This structure implements scheme 6.2 thom the http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf and supports several primitives:

  • schedule timer in the future.
  • cancel timer.
  • time step (advance) - all timers expired at current time tick are extracted from wheels.

Each operation take O(1) time.

Meta

License

BSL-1.0