Beispiel #1
0
        static async Task Bind(ModelContext context, ExchangeToExchangeBinding binding)
        {
            RabbitMqLogMessages.BindToExchange(binding);

            await context.ExchangeBind(binding.Destination.ExchangeName, binding.Source.ExchangeName, binding.RoutingKey, binding.Arguments)
            .ConfigureAwait(false);
        }
Beispiel #2
0
            async Task IConsumer <SetPrefetchCount> .Consume(ConsumeContext <SetPrefetchCount> context)
            {
                var prefetchCount = context.Message.PrefetchCount;

                RabbitMqLogMessages.PrefetchCount(prefetchCount);

                await _modelContext.BasicQos(0, prefetchCount, true).ConfigureAwait(false);

                await _filter.SetPrefetchCount(prefetchCount).ConfigureAwait(false);
            }
Beispiel #3
0
        async Task IFilter <ModelContext> .Send(ModelContext context, IPipe <ModelContext> next)
        {
            RabbitMqLogMessages.PrefetchCount(_prefetchCount);

            await context.BasicQos(0, _prefetchCount, false).ConfigureAwait(false);

            using (new SetPrefetchCountConsumer(_managementPipe, context, this))
            {
                await next.Send(context).ConfigureAwait(false);
            }
        }
Beispiel #4
0
        async Task Declare(ModelContext context, Queue queue)
        {
            try
            {
                var ok = await context.QueueDeclare(queue.QueueName, queue.Durable, queue.Exclusive, queue.AutoDelete, queue.QueueArguments)
                         .ConfigureAwait(false);

                RabbitMqLogMessages.DeclareQueue(queue, ok.ConsumerCount, ok.MessageCount);
            }
            catch (Exception exception)
            {
                LogContext.Error?.Log(exception, "Declare queue faulted: {Queue}", queue);

                throw;
            }
        }
        Task Bind(ModelContext context, ExchangeToQueueBinding binding)
        {
            RabbitMqLogMessages.BindToQueue(binding);

            return(context.QueueBind(binding.Destination.QueueName, binding.Source.ExchangeName, binding.RoutingKey, binding.Arguments));
        }
        Task Declare(ModelContext context, Queue queue)
        {
            RabbitMqLogMessages.DeclareQueue(queue);

            return(context.QueueDeclare(queue.QueueName, queue.Durable, queue.Exclusive, queue.AutoDelete, queue.QueueArguments));
        }
        Task Declare(ModelContext context, Exchange exchange)
        {
            RabbitMqLogMessages.DeclareExchange(exchange);

            return(context.ExchangeDeclare(exchange.ExchangeName, exchange.ExchangeType, exchange.Durable, exchange.AutoDelete, exchange.ExchangeArguments));
        }