summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-10-04 16:05:48 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-10-04 16:05:48 +0100
commitb1b6201cd23233b9aa9b727d43c386819007155f (patch)
treeb5bbad3ed4516d81cce9da33b7bf4f4c48e90a07
parent8e3eb40582ee16898eaaf65babe0e9d945621578 (diff)
downloadrabbitmq-server-b1b6201cd23233b9aa9b727d43c386819007155f.tar.gz
refactor
-rw-r--r--src/rabbit_amqqueue_process.erl17
-rw-r--r--src/rabbit_msg_store.erl18
2 files changed, 14 insertions, 21 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index 72b9b49d..ee74b3d2 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -698,8 +698,8 @@ handle_call(consumers, _From,
[{ChPid, ConsumerTag, AckRequired} | Acc]
end, [], queue:join(ActiveConsumers, BlockedConsumers)), State);
-handle_call({deliver_immediately, Delivery = #delivery{message = Msg}}
- , _From, State) ->
+handle_call({deliver_immediately, Delivery = #delivery{message = Msg}},
+ _From, State) ->
%% Synchronous, "immediate" delivery mode
%%
%% FIXME: Is this correct semantics?
@@ -713,13 +713,12 @@ handle_call({deliver_immediately, Delivery = #delivery{message = Msg}}
%% just all ready-to-consume queues get the message, with unready
%% queues discarding the message?
%%
- State1 = record_confirm_message(Delivery, State),
- {Delivered, State2} = attempt_delivery(Delivery, State1),
- State3 = case Delivered of
- true -> State2;
- false -> confirm_message(Msg#basic_message.guid, State2)
- end,
- reply(Delivered, State3);
+ {Delivered, State1} = attempt_delivery(Delivery,
+ record_confirm_message(Delivery, State)),
+ reply(Delivered, case Delivered of
+ true -> State1;
+ false -> confirm_message(Msg#basic_message.guid, State1)
+ end);
handle_call({deliver, Delivery}, _From, State) ->
%% Synchronous, "mandatory" delivery mode
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index 521c1c09..ff6ff96c 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -849,19 +849,13 @@ internal_sync(State = #msstate { current_file_handle = CurHdl,
CGs = dict:fold(fun (_CRef, [], NS) -> NS;
(CRef, Guids, NS) -> [{CRef, Guids} | NS]
end, [], CTG),
- if Syncs =/= [] orelse CGs =/= [] -> ok = file_handle_cache:sync(CurHdl);
- true -> ok
+ if Syncs =:= [] andalso CGs =:= [] -> ok;
+ true -> file_handle_cache:sync(CurHdl)
end,
- State2 = case Syncs of
- [] -> State1;
- _ -> lists:foreach(fun (K) -> K() end, lists:reverse(Syncs)),
- State1 #msstate { on_sync = [] }
- end,
- [begin
- Fun = dict:fetch(CRef, CODC),
- Fun(Guids)
- end || {CRef, Guids} <- CGs],
- State2 #msstate { cref_to_guids = dict:new() }.
+ lists:foreach(fun (K) -> K() end, lists:reverse(Syncs)),
+ [(dict:fetch(CRef, CODC))(Guids) || {CRef, Guids} <- CGs],
+ State #msstate { cref_to_guids = dict:new(),
+ on_sync = [] }.
read_message(Guid, From,