public string BasicConsume(string queue, bool noAck, string consumerTag, bool noLocal, bool exclusive, IDictionary <string, object> arguments, IBasicConsumer consumer) { Queue queueInstance; _server.Queues.TryGetValue(queue, out queueInstance); if (queueInstance != null) { Func <string, IBasicConsumer, IBasicConsumer> updateFunction = (s, basicConsumer) => basicConsumer; _consumers.AddOrUpdate(consumerTag, consumer, updateFunction); if (consumer is IAsyncBasicConsumer asyncConsumer) { asyncConsumer.HandleBasicConsumeOk(consumerTag); } else { consumer.HandleBasicConsumeOk(consumerTag); } NotifyConsumerOfExistingMessages(consumerTag, consumer, queueInstance); NotifyConsumerWhenMessagesAreReceived(consumerTag, consumer, queueInstance); } return(consumerTag); }
public string BasicConsume(string queue, bool noAck, string consumerTag, IBasicConsumer consumer) { if (!connection.Queues.ContainsKey(queue)) { throw new InMemoryClientException(string.Format("Queue '{0}' does not exist", queue)); } consumer.HandleBasicConsumeOk(consumerTag); connection.Queues[queue].AddConsumer(noAck, consumerTag, consumer); return(""); }
protected override async Task Execute(ModelBase model, IBasicConsumer consumer) { try { await consumer.HandleBasicConsumeOk(consumerTag).ConfigureAwait(false); } catch (Exception e) { var details = new Dictionary <string, object>() { { "consumer", consumer }, { "context", "HandleBasicConsumeOk" } }; await model.OnCallbackException(CallbackExceptionEventArgs.Build(e, details)); } }
public void HandleBasicConsumeOk(IBasicConsumer consumer, string consumerTag) { UnlessShuttingDown(() => { try { consumer.HandleBasicConsumeOk(consumerTag); } catch (Exception e) { var details = new Dictionary <string, object>() { { "consumer", consumer }, { "context", "HandleBasicConsumeOk" } }; model.OnCallbackException(CallbackExceptionEventArgs.Build(e, details)); } }); }
public void HandleBasicConsumeOk(IBasicConsumer consumer, string consumerTag) { UnlessShuttingDown(() => { try { consumer.HandleBasicConsumeOk(consumerTag); } catch (Exception e) { var details = new Dictionary<string, object>() { {"consumer", consumer}, {"context", "HandleBasicConsumeOk"} }; model.OnCallbackException(CallbackExceptionEventArgs.Build(e, details)); } }); }
public string BasicConsume(string queue, bool noAck, string consumerTag, IBasicConsumer consumer) { if (!connection.Queues.ContainsKey(queue)) { throw new InMemoryClientException(string.Format("Queue '{0}' does not exist", queue)); } consumer.HandleBasicConsumeOk(consumerTag); connection.Queues[queue].AddConsumer(noAck, consumerTag, consumer); return ""; }