class TimerFactory(object): def __init__(self, ev_quit=None, logger=None): # ev_quit retained for past and possible future use self.ev_quit = ev_quit self.timer_heap = TimerHeap("TimerFactory", logger=logger) def timer(self): """Creates and returns a new Timer.""" return Timer(self) def set(self, time_sec, callback_fn, *args, **kwdargs): """Convenience function to create and set a timer. Equivalent to: timer = timer_factory.timer() timer.set_callback('expired', callback_fn, *args, **kwdargs) timer.set(time_sec) """ timer = self.timer() timer.set_callback('expired', callback_fn, *args, **kwdargs) timer.set(time_sec) return timer def clear(self, timer): timer.clear() def clear_all(self): self.timer_heap.remove_all_timers() def wait_timers(self): """Wait for all pending timers to expire. """ #self.timer_heap.wait_timers() raise Exception("wait_timers() is not yet implemented") def wind(self): # For legacy compatibility pass def quit(self): """Terminate the timer factory. Pending timers and events will not be processed. """ #self.ev_quit.set() self.timer_heap.quit()
def __init__(self, ev_quit=None, logger=None): # ev_quit retained for past and possible future use self.ev_quit = ev_quit self.timer_heap = TimerHeap("TimerFactory", logger=logger)