def test_get_next_while_origin_changed(self):
        table = zmq_routing_table.RoutingTable(self.conf)
        table.register("topic1.server1", "1")
        table.register("topic1.server1", "2")
        table.register("topic1.server1", "3")

        rr_gen = table.get_hosts_round_robin("topic1.server1")

        result = []
        for i in range(3):
            result.append(next(rr_gen))

        self.assertEqual(3, len(result))
        self.assertIn("1", result)
        self.assertIn("2", result)
        self.assertIn("3", result)

        table.register("topic1.server1", "4")
        table.register("topic1.server1", "5")
        table.register("topic1.server1", "6")

        result = []
        for i in range(6):
            result.append(next(rr_gen))

        self.assertEqual(6, len(result))
        self.assertIn("1", result)
        self.assertIn("2", result)
        self.assertIn("3", result)
        self.assertIn("4", result)
        self.assertIn("5", result)
        self.assertIn("6", result)
    def test_no_targets(self):
        table = zmq_routing_table.RoutingTable(self.conf)
        rr_gen = table.get_hosts_round_robin("topic1.server1")

        result = []
        for t in rr_gen:
            result.append(t)
        self.assertEqual(0, len(result))
 def __init__(self, conf, matchmaker):
     sender = zmq_senders.RequestSenderProxy(conf)
     receiver = zmq_receivers.ReplyReceiverProxy(conf)
     super(DealerPublisherProxy, self).__init__(conf, matchmaker, sender,
                                                receiver)
     self.socket = self.sockets_manager.get_socket_to_publishers()
     self.routing_table = zmq_routing_table.RoutingTable(self.conf,
                                                         self.matchmaker)
     self.connection_updater = \
         PublisherConnectionUpdater(self.conf, self.matchmaker, self.socket)
    def test_target_unchanged(self):
        table = zmq_routing_table.RoutingTable(self.conf)
        table.register("topic1.server1", "1")

        rr_gen = table.get_hosts_round_robin("topic1.server1")

        result = []
        for i in range(3):
            result.append(next(rr_gen))

        self.assertEqual(["1", "1", "1"], result)
Example #5
0
 def __init__(self, conf, matchmaker):
     sender = zmq_senders.RequestSenderProxy(conf)
     if conf.oslo_messaging_zmq.rpc_use_acks:
         receiver = zmq_receivers.AckAndReplyReceiverProxy(conf)
     else:
         receiver = zmq_receivers.ReplyReceiverProxy(conf)
     super(DealerPublisherProxy, self).__init__(conf, matchmaker, sender,
                                                receiver)
     self.socket = self.sockets_manager.get_socket_to_publishers(
         self._generate_identity())
     self.routing_table = zmq_routing_table.RoutingTable(
         self.conf, self.matchmaker)
     self.connection_updater = \
         PublisherConnectionUpdater(self.conf, self.matchmaker, self.socket)