Example #1
0
    def __init__(self, conf, context, matchmaker):
        self.conf = conf
        self.context = context
        super(UniversalQueueProxy, self).__init__()
        self.matchmaker = matchmaker
        self.poller = zmq_async.get_poller(zmq_concurrency='native')

        self.fe_router_socket = zmq_socket.ZmqRandomPortSocket(
            conf, context, zmq.ROUTER)
        self.be_router_socket = zmq_socket.ZmqRandomPortSocket(
            conf, context, zmq.ROUTER)

        self.poller.register(self.fe_router_socket.handle,
                             self._receive_in_request)
        self.poller.register(self.be_router_socket.handle,
                             self._receive_in_request)

        self.fe_router_address = zmq_address.combine_address(
            self.conf.rpc_zmq_host, self.fe_router_socket.port)
        self.be_router_address = zmq_address.combine_address(
            self.conf.rpc_zmq_host, self.fe_router_socket.port)

        self.pub_publisher = zmq_pub_publisher.PubPublisherProxy(
            conf, matchmaker)

        self.matchmaker.register_publisher(
            (self.pub_publisher.host, self.fe_router_address))
        LOG.info(_LI("[PUB:%(pub)s, ROUTER:%(router)s] Run PUB publisher"),
                 {"pub": self.pub_publisher.host,
                  "router": self.fe_router_address})
        self.matchmaker.register_router(self.be_router_address)
        LOG.info(_LI("[Backend ROUTER:%(router)s] Run ROUTER"),
                 {"router": self.be_router_address})
 def __init__(self, conf):
     self.conf = conf
     self.replies = {}
     self.poller = zmq_async.get_poller()
     self.executor = zmq_async.get_executor(self.run_loop)
     self.executor.execute()
     self._lock = threading.Lock()
    def __init__(self, conf, context, matchmaker):
        self.conf = conf
        self.context = context
        super(UniversalQueueProxy, self).__init__()
        self.matchmaker = matchmaker
        self.poller = zmq_async.get_poller()

        self.fe_router_socket = zmq_socket.ZmqRandomPortSocket(
            conf, context, zmq.ROUTER)
        self.be_router_socket = zmq_socket.ZmqRandomPortSocket(
            conf, context, zmq.ROUTER)

        self.poller.register(self.fe_router_socket.handle,
                             self._receive_in_request)
        self.poller.register(self.be_router_socket.handle,
                             self._receive_in_request)

        self.fe_router_address = zmq_address.combine_address(
            self.conf.rpc_zmq_host, self.fe_router_socket.port)
        self.be_router_address = zmq_address.combine_address(
            self.conf.rpc_zmq_host, self.be_router_socket.port)

        self.pub_publisher = zmq_pub_publisher.PubPublisherProxy(
            conf, matchmaker)

        self._router_updater = RouterUpdater(
            conf, matchmaker, self.pub_publisher.host, self.fe_router_address,
            self.be_router_address)
 def __init__(self, conf):
     self.conf = conf
     self._lock = threading.Lock()
     self._requests = {}
     self._poller = zmq_async.get_poller()
     self._executor = zmq_async.get_executor(method=self._run_loop)
     self._executor.execute()
Example #5
0
    def __init__(self, conf, context, matchmaker):
        self.conf = conf
        self.context = context
        self.matchmaker = matchmaker

        LOG.info(_LI("Running %s proxy") % self.PROXY_TYPE)

        self.poller = zmq_async.get_poller()
Example #6
0
 def __init__(self, driver, conf, matchmaker=None):
     super(ZmqServer, self).__init__(driver)
     self.matchmaker = matchmaker
     self.poller = zmq_async.get_poller()
     self.rpc_consumer = zmq_router_consumer.RouterConsumer(
         conf, self.poller, self)
     self.notify_consumer = self.rpc_consumer
     self.consumers = [self.rpc_consumer]
Example #7
0
 def __init__(self, driver, conf, matchmaker, targets_and_priorities):
     super(ZmqNotificationServer, self).__init__()
     self.driver = driver
     self.conf = conf
     self.matchmaker = matchmaker
     self.servers = []
     self.poller = zmq_async.get_poller()
     self._listen(targets_and_priorities)
Example #8
0
 def __init__(self, conf):
     self.conf = conf
     self._lock = threading.Lock()
     self._requests = {}
     self._poller = zmq_async.get_poller()
     self._receive_response_versions = \
         zmq_version.get_method_versions(self, 'receive_response')
     self._executor = zmq_async.get_executor(self._run_loop)
     self._executor.execute()
    def __init__(self, conf, context, queue):
        super(IncomingQueueProxy, self).__init__(conf, context)
        self.poller = zmq_async.get_poller(
            zmq_concurrency='native')

        self.queue = queue

        self.socket = context.socket(zmq.ROUTER)
        self.socket.bind(zmq_address.get_broker_address(conf))
        self.poller.register(self.socket, self.receive_request)
        LOG.info(_LI("Polling at incoming proxy ..."))
Example #10
0
    def __init__(self, conf, context, matchmaker):
        super(UniversalQueueProxy, self).__init__(conf, context)
        self.poller = zmq_async.get_poller(zmq_concurrency='native')

        self.router_socket = context.socket(zmq.ROUTER)
        self.router_socket.bind(zmq_address.get_broker_address(conf))

        self.poller.register(self.router_socket, self._receive_in_request)
        LOG.info(_LI("Polling at universal proxy"))

        self.matchmaker = matchmaker
        self.pub_publisher = zmq_pub_publisher.PubPublisherProxy(
            conf, matchmaker)
    def __init__(self, conf, context, matchmaker):
        super(UniversalQueueProxy, self).__init__(conf, context)
        self.matchmaker = matchmaker
        self.poller = zmq_async.get_poller(zmq_concurrency='native')

        self.router_socket = zmq_socket.ZmqRandomPortSocket(
            conf, context, zmq.ROUTER)

        self.poller.register(self.router_socket.handle,
                             self._receive_in_request)

        self.router_address = zmq_address.combine_address(
            self.conf.rpc_zmq_host, self.router_socket.port)
Example #12
0
    def __init__(self, driver, conf, matchmaker, target, poller=None):
        super(ZmqServer, self).__init__()
        self.driver = driver
        self.conf = conf
        self.matchmaker = matchmaker
        self.target = target
        self.poller = poller or zmq_async.get_poller()
        self.router_consumer = zmq_router_consumer.RouterConsumer(
            conf, self.poller, self)
        self.sub_consumer = zmq_sub_consumer.SubConsumer(
            conf, self.poller, self) if conf.use_pub_sub else None

        self.consumers = [self.router_consumer]
        if self.sub_consumer:
            self.consumers.append(self.sub_consumer)
    def __init__(self, conf, matchmaker, context):
        self.conf = conf
        self.matchmaker = matchmaker
        self.context = context
        self._ready = None

        #  NOTE(ozamiatin): May be used for heartbeats when we
        #  implement them
        self.sync_socket = zmq_socket.ZmqRandomPortSocket(
            self.conf, self.context, zmq.PULL)
        self.poller = zmq_async.get_poller()
        self.poller.register(self.sync_socket)

        self.sync_host = zmq_address.combine_address(self.conf.rpc_zmq_host,
                                                     self.sync_socket.port)
    def __init__(self, driver, conf, matchmaker=None):
        super(ZmqServer, self).__init__(driver)
        self.matchmaker = matchmaker
        self.poller = zmq_async.get_poller()
        self.router_consumer = zmq_router_consumer.RouterConsumerBroker(
            conf, self.poller, self) if conf.direct_over_proxy else \
            zmq_router_consumer.RouterConsumer(
                conf, self.poller, self)
        self.sub_consumer = zmq_sub_consumer.SubConsumer(
            conf, self.poller, self) if conf.use_pub_sub else None
        self.notify_consumer = self.sub_consumer if conf.use_pub_sub \
            else self.router_consumer

        self.consumers = [self.router_consumer]
        if self.sub_consumer:
            self.consumers.append(self.sub_consumer)
 def __init__(self):
     self.poller = zmq_async.get_poller()
     self.thread = zmq_async.get_executor(self.poll_for_acknowledgements)
     self.thread.execute()
Example #16
0
 def setUp(self):
     super(TestPoller, self).setUp()
     self.poller = zmq_async.get_poller()
     self.ctx = zmq.Context()
     self.internal_ipc_dir = self.useFixture(fixtures.TempDir()).path
     self.ADDR_REQ = "ipc://%s/request1" % self.internal_ipc_dir
    def test_when_eventlet_is_available_then_return_HoldReplyPoller(self):
        zmq_async.eventletutils.is_monkey_patched = lambda _: True

        actual = zmq_async.get_poller()

        self.assertTrue(isinstance(actual, green_poller.GreenPoller))
Example #18
0
 def __init__(self):
     self.poller = zmq_async.get_poller()
     self.thread = zmq_async.get_executor(self.poll_for_acknowledgements)
     self.thread.execute()
 def setUp(self):
     super(TestPoller, self).setUp()
     self.poller = zmq_async.get_poller()
     self.ctx = zmq.Context()
     self.internal_ipc_dir = self.useFixture(fixtures.TempDir()).path
     self.ADDR_REQ = "ipc://%s/request1" % self.internal_ipc_dir
Example #20
0
    def test_invalid_config_value_raise_ValueError(self):
        invalid_opt = 'x'

        errmsg = 'Invalid zmq_concurrency value: x'
        with self.assertRaisesRegexp(ValueError, errmsg):
            zmq_async.get_poller(invalid_opt)
Example #21
0
    def test_when_eventlet_is_available_then_return_GreenPoller(self):
        zmq_async._is_eventlet_zmq_available = lambda: True

        actual = zmq_async.get_poller('eventlet')

        self.assertTrue(isinstance(actual, green_poller.GreenPoller))
Example #22
0
    def test_when_eventlet_is_unavailable_then_return_ThreadingPoller(self):
        zmq_async._is_eventlet_zmq_available = lambda: False

        actual = zmq_async.get_poller('eventlet')

        self.assertTrue(isinstance(actual, threading_poller.ThreadingPoller))
Example #23
0
    def test_when_native_poller_requested_then_return_ThreadingPoller(self):
        actual = zmq_async.get_poller('native')

        self.assertTrue(isinstance(actual, threading_poller.ThreadingPoller))
Example #24
0
    def test_when_no_arg_to_get_poller_then_return_default_poller(self):
        zmq_async._is_eventlet_zmq_available = lambda: True

        actual = zmq_async.get_poller()

        self.assertTrue(isinstance(actual, green_poller.GreenPoller))
    def test_default_reply_poller_is_HoldReplyPoller(self):
        zmq_async._is_eventlet_zmq_available = lambda: True

        actual = zmq_async.get_poller()

        self.assertTrue(isinstance(actual, green_poller.GreenPoller))
    def test_when_eventlet_is_available_then_return_GreenPoller(self):
        zmq_async.eventletutils.is_monkey_patched = lambda _: True

        poller = zmq_async.get_poller()

        self.assertIsInstance(poller, green_poller.GreenPoller)
    def test_when_eventlet_is_unavailable_then_return_ThreadingPoller(self):
        zmq_async.eventletutils.is_monkey_patched = lambda _: False

        poller = zmq_async.get_poller()

        self.assertIsInstance(poller, threading_poller.ThreadingPoller)