diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-10-04 16:05:48 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-10-04 16:05:48 +0100 |
commit | b1b6201cd23233b9aa9b727d43c386819007155f (patch) | |
tree | b5bbad3ed4516d81cce9da33b7bf4f4c48e90a07 | |
parent | 8e3eb40582ee16898eaaf65babe0e9d945621578 (diff) | |
download | rabbitmq-server-b1b6201cd23233b9aa9b727d43c386819007155f.tar.gz |
refactor
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 17 | ||||
-rw-r--r-- | src/rabbit_msg_store.erl | 18 |
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, |