def setUp(self): self.dispatcher = Dispatcher() self.dispatcher.add_map('event0', self.handle_event0, False, True) self.dispatcher.add_map('event1', self.handle_event1, False) self.dispatcher.add_map('event2', self.handle_event2, False) self.dispatcher.add_map('event3', self.handle_event3, False) self.dispatcher.add_map('event4', self.handle_event4) self.wrapper = self.dispatcher.once('event5', self.handle_event5)
def __init__(self, child): self.child = child self.thread = Thread(target=self.run) self.queue = Queue() self.terminate = self.child.terminate core.gear.pool.append(self) Dispatcher.__init__(self) Thread.__init__(self) self.thread.start()
def __init__(self, func, *args, **kwargs): Thread.__init__(self) Dispatcher.__init__(self) self.func = func self.args = args self.kwargs = kwargs self.data = None self.is_done = False self.err = None self.lock = Lock() core.gear.pool.append(self) self.start()
def __init__(self, *args, **kwargs): """ """ self.child = Popen(args, stdout=PIPE, stdin=PIPE, stderr=STDOUT, **kwargs) self.stdin = self.child.stdin self.stdout = self.child.stdout self.stderr = self.child.stderr self.args = args self.queue = Queue() self.terminate = self.child.terminate core.gear.pool.append(self) Dispatcher.__init__(self) Thread.__init__(self) self.start()
def __init__(self, host, port, fd, size): """ """ Dispatcher.__init__(self) sock = socket(AF_INET, SOCK_STREAM) ssock = SuperSocket(sock) self.port = port self.fd = fd self.size = size Client(ssock) ssock.connect_ex((host, port)) ssock.add_map(CONNECT, self.on_connect) ssock.add_map(CONNECT_ERR, lambda con, err: lose(con)) ssock.add_handle( lambda ssock, event, args: self.drive(event, ssock, *args))
def __init__(self, fd, port, timeout=20): """ fd -> The file to be sent. port -> The port which will be used. timeout -> How long the server must be up. """ sock = socket(AF_INET, SOCK_STREAM) sock.bind(('', port)) sock.listen(1) self.local = SuperSocket(sock) Server(self.local) Dispatcher.__init__(self) self.fd = fd self.timeout = timeout self.port = port self.local.add_map(ACCEPT, self.on_accept) self.timer = Timer(self.timeout, self.on_timeout)
def __init__(self, *args): """ """ self.child = Popen(args, shell=0, stdout=PIPE, stdin=PIPE, stderr=STDOUT, env=environ) self.stdin = self.child.stdin self.stdout = self.child.stdout self.stderr = self.child.stderr self.args = args self.queue = Queue() self.terminate = self.child.terminate core.gear.pool.append(self) Dispatcher.__init__(self) Thread.__init__(self) self.start()
def __init__(self, fd): Dispatcher.__init__(self) self.fd = fd core.gear.register(self) self.dead = False
class TestDispatcher(unittest.TestCase): def setUp(self): self.dispatcher = Dispatcher() self.dispatcher.add_map('event0', self.handle_event0, False, True) self.dispatcher.add_map('event1', self.handle_event1, False) self.dispatcher.add_map('event2', self.handle_event2, False) self.dispatcher.add_map('event3', self.handle_event3, False) self.dispatcher.add_map('event4', self.handle_event4) self.wrapper = self.dispatcher.once('event5', self.handle_event5) def handle_event0(self, dispatcher, value0, value1): self.assertEqual(value1, True) self.assertEqual(value0, False) def handle_event1(self, dispatcher, value0, value1, value2): self.assertEqual(value2, False) self.assertEqual(value1, True) self.assertEqual(value0, True) def handle_event2(self, dispatcher, value0, value1): self.assertEqual(value1, False) self.assertEqual(value0, True) def handle_event3(self, dispatcher, value): self.assertEqual(value, False) def handle_event4(self, dispatcher): raise Stop def handle_event5(self, dispatcher): maps = dispatcher.base['event5'] self.assertNotIn((self.wrapper, ()), maps) def test_drive(self): self.dispatcher.drive('event0') self.dispatcher.drive('event1', True, True) self.dispatcher.drive('event2', True) self.dispatcher.drive('event3') self.dispatcher.drive('event4') def test_once(self): self.dispatcher.drive('event5')
def __init__(self): Dispatcher.__init__(self) self.count = 0