summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-03-21 11:22:14 +0000
committerSimon MacMullen <simon@rabbitmq.com>2013-03-21 11:22:14 +0000
commite54051656c68e06b7e4833e8a44ceb204f8d37be (patch)
treea95dee40373637615c010357ef2ea35f7382bbfe
parente169405354ca9567de824c561c97d3fda9cb8a45 (diff)
downloadrabbitmq-server-e54051656c68e06b7e4833e8a44ceb204f8d37be.tar.gz
Cosmetic, reduce distance to bug25461, remove dead comment
-rw-r--r--src/rabbit_amqqueue.erl1
-rw-r--r--src/rabbit_amqqueue_process.erl26
2 files changed, 11 insertions, 16 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 2dfed21d..8c00c85c 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -548,7 +548,6 @@ credit(#amqqueue{pid = QPid}, ChPid, CTag, Credit, Drain) ->
basic_get(#amqqueue{pid = QPid}, ChPid, NoAck, LimiterPid) ->
delegate:call(QPid, {basic_get, ChPid, NoAck, LimiterPid}).
-
basic_consume(#amqqueue{pid = QPid}, NoAck, ChPid, LimiterPid, LimiterActive,
ConsumerTag, ExclusiveConsume, CreditArgs, OkMsg) ->
delegate:call(QPid, {basic_consume, NoAck, ChPid, LimiterPid, LimiterActive,
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 22bbbd00..bff762f3 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -71,8 +71,6 @@
blocked_consumers,
%% The limiter itself
limiter,
- %% Has the limiter imposed a channel-wide block, either
- %% because of qos or channel flow?
%% Internal flow control for queue -> writer
unsent_message_count}).
@@ -1157,16 +1155,14 @@ handle_call({basic_consume, NoAck, ChPid, LimiterPid, LimiterActive,
ok ->
C = #cr{consumer_count = Count,
limiter = Limiter} = ch_record(ChPid, LimiterPid),
- Limiter1 = case CreditArgs of
- none ->
- Limiter;
- {Credit, Drain} ->
- rabbit_limiter:credit(
- Limiter, ConsumerTag, Credit, Drain)
+ Limiter1 = case LimiterActive of
+ true -> rabbit_limiter:activate(Limiter);
+ false -> Limiter
end,
- Limiter2 = case LimiterActive of
- true -> rabbit_limiter:activate(Limiter1);
- false -> Limiter1
+ Limiter2 = case CreditArgs of
+ none -> Limiter1;
+ {Crd, Drain} -> rabbit_limiter:credit(
+ Limiter1, ConsumerTag, Crd, Drain)
end,
C1 = update_ch_record(C#cr{consumer_count = Count + 1,
limiter = Limiter2}),
@@ -1198,12 +1194,12 @@ handle_call({basic_cancel, ChPid, ConsumerTag, OkMsg}, From,
limiter = Limiter,
blocked_consumers = Blocked} ->
emit_consumer_deleted(ChPid, ConsumerTag, qname(State)),
- Limiter1 = rabbit_limiter:forget_consumer(Limiter, ConsumerTag),
Blocked1 = remove_consumer(ChPid, ConsumerTag, Blocked),
- Limiter2 = case Count of
- 1 -> rabbit_limiter:deactivate(Limiter1);
- _ -> Limiter1
+ Limiter1 = case Count of
+ 1 -> rabbit_limiter:deactivate(Limiter);
+ _ -> Limiter
end,
+ Limiter2 = rabbit_limiter:forget_consumer(Limiter1, ConsumerTag),
update_ch_record(C#cr{consumer_count = Count - 1,
limiter = Limiter2,
blocked_consumers = Blocked1}),