public RmqSubscriptionManager (ProcessingQueue queue, RmqPublisher publisher, Action<string, Exception> logger)
		{
			_queue = queue;
			_publisher = publisher;
			_logger = logger ?? ((_, __) => { });
			_queue.Reconnected += RestoreSubscriptions;
		}
 public RabbitMqMessageBus(string connectionString, Action<string, Exception> logger = null)
 {
     _connectionString = connectionString;
     logger = logger ?? ((_, __) => { });
     _queue = new ProcessingQueue(new Uri(connectionString), logger);
     _publisher = new RmqPublisher(_queue);
     _subscriber = new RmqSubscriptionManager(_queue, _publisher, logger);
 }
 public RmqPublisher(ProcessingQueue queue)
 {
     _queue = queue;
     _queue.Reconnected += delegate { _registeredQueues = new Dictionary<IModel, HashSet<string>>(); };
 }