def __init__(self, url, count):
     super(Recv, self).__init__(auto_accept=False)
     self.url = url
     self.delay = 0
     self.last_id = None
     self.expected = count
     self.received = 0
     self.accepted = 0
     self.db = Db("dst_db", EventInjector())
 def __init__(self, aInOAmqpClient):
     super(Recv, self).__init__()
     self.oAmqpClient = aInOAmqpClient
     self.received = 0
     self.ForceDeploy = ForceDeploy(self.oAmqpClient.vsdUserName,
                                    self.oAmqpClient.vsdPassword,
                                    self.oAmqpClient.vsdOrg,
                                    self.oAmqpClient.vsdUrl, LOG,
                                    EventInjector())
Exemple #3
0
 def __init__(self, url, count):
     super(Send, self).__init__()
     self.url = url
     self.delay = 0
     self.sent = 0
     self.confirmed = 0
     self.load_count = 0
     self.records = Queue.Queue(maxsize=50)
     self.target = count
     self.db = Db("src_db", EventInjector())
Exemple #4
0
    def __init__(self, gui, sender_address, receiver_address):
        super(ChatMesssenger, self).__init__()
        self.gui = gui
        self.sender_address = sender_address
        self.receiver_address = receiver_address

        self.events = EventInjector()
        self.sender = None

        self.ready_to_send = False
        self.outgoing_queue = Queue()
Exemple #5
0
 def setUp(self):
     import os
     if not hasattr(os, 'pipe'):
       # KAG: seems like Jython doesn't have an os.pipe() method
       raise SkipTest()
     if os.name=="nt":
       # Correct implementation on Windows is complicated
       raise SkipTest("PROTON-1071")
     self.server = ApplicationEventTest.MyTestServer()
     self.server.reactor.handler.add(ApplicationEventTest.MyHandler(self))
     self.event_injector = EventInjector()
     self.hello_event = ApplicationEvent("hello")
     self.goodbye_event = ApplicationEvent("goodbye")
     self.server.reactor.selectable(self.event_injector)
     self.hello_rcvd = None
     self.goodbye_rcvd = None
     self.server.start()
Exemple #6
0
    def test_application_event_no_object_leaks(self):
        event_types_count = len(proton.EventType.TYPES)

        injector = EventInjector()
        p = Program(injector)
        c = Container(p)
        t = threading.Thread(target=c.run)
        t.start()

        p.on_start_.wait()

        object_counts = []

        gc.collect()
        object_counts.append(len(gc.get_objects()))

        for i in range(100):
            injector.trigger(ApplicationEvent("count_up"))

        gc.collect()
        object_counts.append(len(gc.get_objects()))

        self.assertEqual(len(proton.EventType.TYPES), event_types_count + 1)

        injector.trigger(ApplicationEvent("done", subject=c))
        self.assertEqual(len(proton.EventType.TYPES), event_types_count + 2)

        t.join()

        gc.collect()
        object_counts.append(len(gc.get_objects()))

        self.assertEqual(p.counter, 100)

        self.assertTrue(
            object_counts[1] - object_counts[0] <= 220,
            "Object counts should not be increasing too fast: {0}".format(
                object_counts))
        self.assertTrue(
            object_counts[2] - object_counts[0] <= 10,
            "No objects should be leaking at the end: {0}".format(
                object_counts))
Exemple #7
0
    def on_abort(self, event):
        self.transaction.abort()

    def on_fetch(self, event):
        self.receiver.flow(1)

    def on_quit(self, event):
        c = self.receiver.connection
        self.receiver.close()
        c.close()


try:
    reactor = Container(TxRecv())
    events = EventInjector()
    reactor.selectable(events)
    thread = threading.Thread(target=reactor.run)
    thread.daemon = True
    thread.start()

    print("Enter 'fetch', 'commit' or 'abort'")
    while True:
        line = sys.stdin.readline()
        if line:
            events.trigger(ApplicationEvent(line.strip()))
        else:
            break
except KeyboardInterrupt:
    pass