Advancing error occurs if number of ticks for advance not in range 0<t<=256
Cancel timer error occurs if you try to cancel timer which is not scheduled.
scheduling error occurs at schedule() when ticks == 0 or timer already scheduled.
This structure implements scheme 6.2 thom the http://www.cs.columbia.edu/~nahum/w6998/papers/sosp87-timing-wheels.pdf
It supports several primitives: 1. schedule timer in the future. 2. cancel timer. 3. time step (advance) - all timers expired at current time tick are extracted from wheels. Each operation take O(1) time.