From: Ralf Jung Date: Sun, 27 Oct 2013 15:51:21 +0000 (+0100) Subject: Merge branch 'master' of ralfj.de:saartuer X-Git-Url: https://git.ralfj.de/saartuer.git/commitdiff_plain/e489f494d0bb7ee28ef8c41ef47069ceebe118ee?hp=--cc Merge branch 'master' of ralfj.de:saartuer --- e489f494d0bb7ee28ef8c41ef47069ceebe118ee diff --cc waker.py index 681de1b,dc4627b..4898c25 --- a/waker.py +++ b/waker.py @@@ -3,22 -4,15 +3,21 @@@ from threading import Loc SLEEP_TIME = 0.5 -ToBeWoken = namedtuple('ToBeWoken','f period time_since_call one_shot') +class ToBeWoken: + '''a simple struct storing information about a to-be-woken function''' + def __init__(self, f, period, one_shot): + self.f = f + self.period = period + self.time_since_call = 0 + self.one_shot = one_shot class Waker(): - def __init__(self, sm): - self._sm = sm - self._t = ThreadRepeater(self._wake, SLEEP_TIME, name="Waker") + def __init__(self): self._tobewokens = [] self._tobewokens_lock = Lock() + self._t = ThreadRepeater(self._wake, SLEEP_TIME, name="Waker") - def register(f, time, one_shot = False): + def register(self, f, time, one_shot = False): '''Register a function which is called approximately every