>>> PyminDaemon(Root(), ('', 9999)).run()
"""
- def __init__(self, root, bind_addr=('', 9999)):
+ def __init__(self, root, bind_addr=('', 9999), timer=1):
r"""Initialize the PyminDaemon object.
See PyminDaemon class documentation for more info.
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(bind_addr)
# Create EventLoop
- eventloop.EventLoop.__init__(self, sock)
+ eventloop.EventLoop.__init__(self, sock, timer=timer)
# Create Dispatcher
+ #TODO root.pymin = PyminHandler()
self.dispatcher = dispatcher.Dispatcher(root)
# Signal handling
def quit(signum, frame):
r"handle() -> None :: Handle incoming events using the dispatcher."
(msg, addr) = self.file.recvfrom(65535)
try:
- result = self.dispatcher.dispatch(msg)
+ result = self.dispatcher.dispatch(unicode(msg, 'utf-8'))
if result is not None:
result = serializer.serialize(result)
response = u'OK '
response += u'0\n'
else:
response += u'%d\n%s' % (len(result), result)
- self.file.sendto(response, addr)
+ self.file.sendto(response.encode('utf-8'), addr)
+
+ def handle_timer(self):
+ r"handle_timer() -> None :: Call handle_timer() on handlers."
+ self.dispatcher.root.handle_timer()
def run(self):
r"run() -> None :: Run the event loop (shortcut to loop())"