Exemplo n.º 1
0
        public string CreateQueue(string name, bool durable, bool autoDelete, CreateQueueSettings settings)
        {
            Dictionary <string, object> arguments = new Dictionary <string, object>();

            if (settings.TTL != TimeSpan.Zero)
            {
                arguments.Add("x-message-ttl", (int)settings.TTL.TotalMilliseconds);
            }

            if (settings.AutoExpire != TimeSpan.Zero)
            {
                arguments.Add("x-expires", (int)settings.AutoExpire.TotalMilliseconds);
            }

            if (settings.MaxLength > 0)
            {
                arguments.Add("x-max-length", settings.MaxLength);
            }

            if (settings.MaxSizeBytes > 0)
            {
                arguments.Add("x-max-length-bytes", settings.MaxSizeBytes);
            }

            if (settings.MaxPriority > 0)
            {
                arguments.Add("x-max-priority", settings.MaxPriority);
            }

            if (!string.IsNullOrEmpty(settings.DeadLetterExchange))
            {
                arguments.Add("x-dead-letter-exchange", settings.DeadLetterExchange);
            }

            if (!string.IsNullOrEmpty(settings.DeadLetterRoutingKey))
            {
                arguments.Add("x-dead-letter-routing-key", settings.DeadLetterRoutingKey);
            }

            QueueDeclareOk declareOk = _model.QueueDeclare(name, durable, false, autoDelete, arguments);

            return(declareOk.QueueName);
        }
Exemplo n.º 2
0
        public void Create(string queue, bool durable, bool exclusive, bool autoDelete, CreateQueueSettings settings)
        {
            var arguments = new Dictionary <string, object>();

            if (settings.TTL != TimeSpan.Zero)
            {
                arguments.Add("x-message-ttl", (int)settings.TTL.TotalMilliseconds);
            }

            if (settings.AutoExpire != TimeSpan.Zero)
            {
                arguments.Add("x-expires", (int)settings.AutoExpire.TotalMilliseconds);
            }

            if (settings.MaxLength > 0)
            {
                arguments.Add("x-max-length", settings.MaxLength);
            }

            if (settings.MaxSizeBytes > 0)
            {
                arguments.Add("x-max-length-bytes", settings.MaxSizeBytes);
            }

            if (settings.MaxPriority > 0)
            {
                arguments.Add("x-max-priority", settings.MaxPriority);
            }

            if (!string.IsNullOrEmpty(settings.DeadLetterExchange))
            {
                arguments.Add("x-dead-letter-exchange", settings.DeadLetterExchange);
            }

            if (!string.IsNullOrEmpty(settings.DeadLetterRoutingKey))
            {
                arguments.Add("x-dead-letter-routing-key", settings.DeadLetterRoutingKey);
            }

            _requestChannel.QueueDeclare(queue, durable, false, autoDelete, arguments);
        }
Exemplo n.º 3
0
 public void Create(string queue, bool durable, bool exclusive, bool autoDelete, CreateQueueSettings settings)
 {
     throw new NotImplementedException();
 }