示例#1
0
    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)
示例#2
0
    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()
示例#3
0
    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()
示例#4
0
文件: job.py 项目: iogf/untwisted
    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()
示例#5
0
文件: expect.py 项目: iogf/untwisted
    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()
示例#6
0
    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))
示例#7
0
    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)
示例#8
0
文件: expect.py 项目: kgisl/untwisted
    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()
示例#9
0
 def __init__(self, fd):
     Dispatcher.__init__(self)
     self.fd = fd
     core.gear.register(self)
     self.dead = False
示例#10
0
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')
示例#11
0
 def __init__(self):
     Dispatcher.__init__(self)
     self.count = 0
示例#12
0
文件: task.py 项目: iogf/untwisted
 def __init__(self):
     Dispatcher.__init__(self)
     self.count = 0