public void ExchangeUnbind(string destination, string source, string routingKey, IDictionary <string, object> arguments)
        {
            _server.Exchanges.TryGetValue(source, out var exchange);
            _server.Queues.TryGetValue(destination, out var queue);

            var binding = new ExchangeQueueBinding {
                Exchange = exchange, Queue = queue, RoutingKey = routingKey
            };

            exchange?.Bindings.TryRemove(binding.Key, out _);
            queue?.Bindings.TryRemove(binding.Key, out _);
        }
Beispiel #2
0
        public void ExchangeBind(string destination, string source, string routingKey, IDictionary <string, object> arguments)
        {
            Exchange exchange;

            _server.Exchanges.TryGetValue(source, out exchange);

            models.Queue queue;
            _server.Queues.TryGetValue(destination, out queue);

            var binding = new ExchangeQueueBinding {
                Exchange = exchange, Queue = queue, RoutingKey = routingKey
            };

            if (exchange != null)
            {
                exchange.Bindings.AddOrUpdate(binding.Key, binding, (k, v) => binding);
            }
            if (queue != null)
            {
                queue.Bindings.AddOrUpdate(binding.Key, binding, (k, v) => binding);
            }
        }
Beispiel #3
0
        public void ExchangeUnbind(string destination, string source, string routingKey, IDictionary <string, object> arguments)
        {
            Exchange exchange;

            _server.Exchanges.TryGetValue(source, out exchange);

            Queue queue;

            _server.Queues.TryGetValue(destination, out queue);

            var binding = new ExchangeQueueBinding {
                Exchange = exchange, Queue = queue, RoutingKey = routingKey
            };
            ExchangeQueueBinding removedBinding;

            if (exchange != null)
            {
                exchange.Bindings.TryRemove(binding.Key, out removedBinding);
            }
            if (queue != null)
            {
                queue.Bindings.TryRemove(binding.Key, out removedBinding);
            }
        }