示例#1
0
    def test_downed_recipient_cancels_the_hub_sender_during_chunked_publish(
            self):
        global PORT
        hub = junction.Hub(("127.0.0.1", PORT), [])
        PORT += 2
        triggered = [False]

        @hub.accept_publish('service', 0, 0, 'method')
        def handle(chunks):
            for item in chunks:
                pass

        hub.start()

        hub2 = junction.Hub(("127.0.0.1", PORT), [("127.0.0.1", PORT - 2)])
        PORT += 2
        hub2.start()
        hub2.wait_connected()

        def gen():
            try:
                while 1:
                    yield None
                    backend.pause_for(TIMEOUT)
            finally:
                triggered[0] = True

        hub2.publish('service', 0, 'method', (gen(), ))

        hub = [hub]
        backend.schedule_in(TIMEOUT * 4, self.kill_hub, args=(hub, ))

        backend.pause_for(TIMEOUT * 5)

        assert triggered[0]
示例#2
0
    def test_downed_recipient_cancels_the_hub_sender_during_chunked_publish(self):
        port = _free_port()
        hub = junction.Hub(("127.0.0.1", port), [])
        triggered = [False]

        @hub.accept_publish('service', 0, 0, 'method')
        def handle(chunks):
            for item in chunks:
                pass

        hub.start()

        port2 = _free_port()
        hub2 = junction.Hub(("127.0.0.1", port2), [("127.0.0.1", port)])
        hub2.start()
        hub2.wait_connected()

        def gen():
            try:
                while 1:
                    yield None
                    backend.pause_for(TIMEOUT)
            finally:
                triggered[0] = True

        hub2.publish('service', 0, 'method', (gen(),))

        hub = [hub]
        backend.schedule_in(TIMEOUT * 4, self.kill_hub, args=(hub,))

        backend.pause_for(TIMEOUT * 5)

        assert triggered[0]
示例#3
0
    def test_downed_recipient_cancels_the_hub_sender_during_chunked_request(self):
        global PORT
        hub = junction.Hub(("127.0.0.1", PORT), [])
        PORT += 2
        triggered = [False]

        @hub.accept_rpc('service', 0, 0, 'method')
        def handle(chunks):
            for item in chunks:
                pass
            return "all done"

        hub.start()

        hub2 = junction.Hub(("127.0.0.1", PORT), [("127.0.0.1", PORT - 2)])
        PORT += 2
        hub2.start()
        hub2.wait_connected()

        def gen():
            try:
                while 1:
                    yield None
                    backend.pause_for(TIMEOUT)
            finally:
                triggered[0] = True

        rpc = hub2.send_rpc('service', 0, 'method', (gen(),))

        hub = [hub]
        backend.schedule_in(TIMEOUT * 4, self.kill_hub, args=(hub,))

        backend.pause_for(TIMEOUT * 5)

        assert triggered[0]
示例#4
0
    def test_downed_recipient_cancels_the_hub_sender_during_chunked_request(
            self):
        port = _free_port()
        hub = junction.Hub(("127.0.0.1", port), [])
        triggered = [False]

        @hub.accept_rpc('service', 0, 0, 'method')
        def handle(chunks):
            for item in chunks:
                pass
            return "all done"

        hub.start()

        port2 = _free_port()
        hub2 = junction.Hub(("127.0.0.1", port2), [("127.0.0.1", port)])
        hub2.start()
        hub2.wait_connected()

        def gen():
            try:
                while 1:
                    yield None
                    backend.pause_for(TIMEOUT)
            finally:
                triggered[0] = True

        rpc = hub2.send_rpc('service', 0, 'method', (gen(), ))

        hub = [hub]
        backend.schedule_in(TIMEOUT * 4, self.kill_hub, args=(hub, ))

        backend.pause_for(TIMEOUT * 5)

        assert triggered[0]