mirror of
https://github.com/haiwen/ccnet-server.git
synced 2025-04-30 03:23:21 +00:00
21 lines
584 B
Python
21 lines
584 B
Python
import libevent
|
|
import logging
|
|
|
|
class Timer(object):
|
|
'''Wraps aroud a libevent timeout event'''
|
|
def __init__(self, ev_base, timeout):
|
|
self._timeout = timeout
|
|
self._evtimer = libevent.Timer(ev_base, self._callback, None)
|
|
self._evtimer.add(timeout) # pylint: disable=E1101
|
|
|
|
def _callback(self, evtimer, user_data):
|
|
dummy = user_data
|
|
try:
|
|
self.callback()
|
|
except:
|
|
logging.exception('error in timer callback:')
|
|
|
|
evtimer.add(self._timeout)
|
|
|
|
def callback(self):
|
|
raise NotImplementedError |