Exemplo n.º 1
0
    def __init__(self, sysname):
        self._sysname = sysname
        self.ready = Event()

        # exchange/queues/bindings
        self._exchanges = {}  # names -> { subscriber, topictrie(queue name) }
        self._queues = {}  # names -> gevent queue
        self._bindings_by_queue = defaultdict(
            list)  # queue name -> [(ex, binding)]
        self._lock_declarables = coros.RLock(
        )  # exchanges, queues, bindings, routing method

        # consumers
        self._consumers = defaultdict(
            list)  # queue name -> [ctag, channel._on_deliver]
        self._consumers_by_ctag = {}  # ctag -> queue_name ??
        self._ctag_pool = IDPool()  # pool of consumer tags
        self._lock_consumers = coros.RLock(
        )  # lock for interacting with any consumer related attrs

        # deliveries
        self._unacked = {}  # dtag -> (ctag, msg)
        self._lock_unacked = coros.RLock(
        )  # lock for interacting with unacked field

        self._gl_msgs = None
        self._gl_pool = Pool()
        self.gl_ioloop = None

        self.errors = []
Exemplo n.º 2
0
    def __init__(self):
        log.debug("In NodeB.__init__")
        BaseNode.__init__(self)

        self._pool = IDPool()
        self._bidir_pool = {}   # maps inactive/active our numbers (from self._pool) to channels
        self._pool_map = {}     # maps active pika channel numbers to our numbers (from self._pool)

        BaseNode.__init__(self)
Exemplo n.º 3
0
    def __init__(self, router=None):
        BaseNode.__init__(self)

        self._own_router = True
        if router is not None:
            self._local_router = router
            self._own_router = False
        else:
            self._local_router = LocalRouter(get_sys_name())
        self._channel_id_pool = IDPool()
Exemplo n.º 4
0
    def __init__(self):
        log.debug("In NodeB.__init__")
        self.ready = event.Event()
        self._lock = coros.RLock()
        self._pool = IDPool()
        self._bidir_pool = {
        }  # maps inactive/active our numbers (from self._pool) to channels
        self._pool_map = {
        }  # maps active pika channel numbers to our numbers (from self._pool)

        amqp.Node.__init__(self)
Exemplo n.º 5
0
    def __init__(self):
        log.debug("In NodeB.__init__")
        BaseNode.__init__(self)

        self._pool = IDPool()
        self._bidir_pool = {
        }  # maps inactive/active our numbers (from self._pool) to channels
        self._pool_map = {
        }  # maps active pika channel numbers to our numbers (from self._pool)
        self._dead_pool = [
        ]  # channels removed from pool for failing health test, for later forensics

        BaseNode.__init__(self)
Exemplo n.º 6
0
    def test_different_new_id_method(self):
        new_id = lambda x: x + 2

        self._idpool = IDPool(new_id=new_id)

        self.assertEquals(self._idpool.get_id(), 2)
        self.assertEquals(self._idpool.get_id(), 4)
        self.assertEquals(self._idpool.get_id(), 6)

        self._idpool.release_id(4)

        self.assertEquals(self._idpool.get_id(), 4)
        self.assertEquals(self._idpool._last_id, 6)
Exemplo n.º 7
0
 def setUp(self):
     self._idpool = IDPool()