/// <summary> /// Removes queue from configurations /// </summary> public void Remove(HorseQueue queue) { lock (_optionsLock) { QueueConfiguration queueConfiguration = Config.Queues.FirstOrDefault(x => x.Name == queue.Name); if (queueConfiguration != null) { Config.Queues.Remove(queueConfiguration); } } }
/// <summary> /// Adds new queue into configurations /// </summary> public bool Add(HorseQueue queue, string filename) { QueueOptionsConfiguration queueOptions = queue.Options.ToConfiguration(); QueueConfiguration queueConfiguration = new QueueConfiguration(); queueConfiguration.Configuration = queueOptions; queueConfiguration.Name = queue.Name; queueConfiguration.File = filename; queueConfiguration.Queue = queue; if (queue.DeliveryHandler is IPersistentDeliveryHandler deliveryHandler) { queueConfiguration.DeliveryHandler = deliveryHandler.Key; queueConfiguration.DeleteWhen = Convert.ToInt32(deliveryHandler.DeleteWhen); queueConfiguration.ProducerAck = Convert.ToInt32(deliveryHandler.ProducerAckDecision); } lock (_optionsLock) Config.Queues.Add(queueConfiguration); return(true); }