summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2014-01-07 23:51:41 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2014-01-07 23:51:41 +0000
commit6d0b781e9ddb807c037151796ddd9f294b4b0bf7 (patch)
tree13e99cf36418a102e00e610bf78ffef51f0345e2
parentcaa0db32425f5292382db52f23d7007a76aabf29 (diff)
downloadrabbitmq-server-6d0b781e9ddb807c037151796ddd9f294b4b0bf7.tar.gz
simplify
-rw-r--r--src/rabbit_amqqueue_process.erl25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index dd2a90e3..0a778661 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -454,18 +454,18 @@ discard(#delivery{sender = SenderPid,
run_message_queue(State) -> run_message_queue([], State).
-run_message_queue(Blocked, State = #q{consumers = Consumers}) ->
+run_message_queue(Blocked, State) ->
case is_empty(State) of
- true -> blocked(lists:append(Blocked), Consumers, State);
+ true -> blocked(lists:append(Blocked), State);
false -> case rabbit_queue_consumers:deliver(
fun(AckRequired) -> fetch(AckRequired, State) end,
- qname(State), Consumers) of
- {delivered, MoreBlocked, State1, Consumers1} ->
+ qname(State), State#q.consumers) of
+ {delivered, MoreBlocked, State1, Consumers} ->
run_message_queue([MoreBlocked | Blocked],
- State1#q{consumers = Consumers1});
- {undelivered, MoreBlocked, Consumers1} ->
+ State1#q{consumers = Consumers});
+ {undelivered, MoreBlocked, Consumers} ->
blocked(lists:append([MoreBlocked | Blocked]),
- Consumers1, State)
+ State#q{consumers = Consumers})
end
end.
@@ -482,16 +482,15 @@ attempt_delivery(Delivery = #delivery{sender = SenderPid, message = Message},
discard(Delivery, State)}
end, qname(State), State#q.consumers) of
{delivered, Blocked, State1, Consumers} ->
- {delivered, blocked(Blocked, Consumers, State1)};
+ {delivered, blocked(Blocked, State1#q{consumers = Consumers})};
{undelivered, Blocked, Consumers} ->
- {undelivered, blocked(Blocked, Consumers, State)}
+ {undelivered, blocked(Blocked, State#q{consumers = Consumers})}
end.
-blocked(Blocked, Consumers, State) ->
- State1 = State#q{consumers = Consumers},
- [notify_decorators(consumer_blocked, [{consumer_tag, CTag}], State1) ||
+blocked(Blocked, State) ->
+ [notify_decorators(consumer_blocked, [{consumer_tag, CTag}], State) ||
{_ChPid, CTag} <- Blocked],
- State1.
+ State.
deliver_or_enqueue(Delivery = #delivery{message = Message, sender = SenderPid},
Delivered, State = #q{backing_queue = BQ,