示例#1
0
 protected internal RabbitQueue(string queueName, QueueDeclareOptions options, object args, IExchange exchange, IModel channel)
 {
     QueueName = queueName;
     Options   = options;
     Exchange  = exchange;
     _channel  = channel;
     _args     = args == null ? new ReadOnlyDictionary <string, object>(new Dictionary <string, object>()) : new ReadOnlyDictionary <string, object>(args.Map());
 }
示例#2
0
 public async Task <QueueDeclareResult> QueueDeclareAsync(string queueName, QueueDeclareOptions options, object arguments)
 {
     try
     {
         return(await Task.Run(() =>
         {
             var resp = _channel.QueueDeclare(queueName, options.Durable, options.Exclusive, options.AutoDelete, arguments == null ? new Dictionary <string, object>() : arguments.Map());
             var queue = new RabbitQueue(queueName, options, arguments, this, _channel);
             return QueueDeclareResult.Success(queue);
         }));
     }
     catch (Exception e)
     {
         return(QueueDeclareResult.Failed(e));
     }
 }
 public QueueDeclareMiddleware(ITopologyProvider topology, ILogger <Pipe.Middleware.QueueDeclareMiddleware> logger, QueueDeclareOptions options = null)
     : base(topology, logger, options)
 {
 }
 public QueueDeclareMiddleware(ITopologyProvider topology, QueueDeclareOptions options = null)
     : base(topology, options)
 {
 }