Advance executes OnTimer callbacks for all timers scheduled to be run before the time 'tm'. Executed timers are removed from the timer queue.
(tm time.Time)
| 104 | // run before the time 'tm'. Executed timers are removed from the |
| 105 | // timer queue. |
| 106 | func (q *Queue) Advance(tm time.Time) { |
| 107 | for len(q.heap) > 0 && !tm.Before(q.heap[0].time) { |
| 108 | data := q.heap[0] |
| 109 | heap.Remove(&q.heap, data.index) |
| 110 | delete(q.table, data.timer) |
| 111 | data.timer.OnTimer(data.time) |
| 112 | } |
| 113 | } |
| 114 | |
| 115 | /* |
| 116 | * timerHeap |