summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2010-03-09 09:06:18 +0000
committerMatthias Radestock <matthias@lshift.net>2010-03-09 09:06:18 +0000
commite61d28a8e857ff12b5b0ed079d35913029c613a0 (patch)
tree8afd0b3565a1499427994078e50f41d468c9df22 /src
parenteae0845e8829aeadd8b65b776e0108081bde27f9 (diff)
downloadrabbitmq-server-git-e61d28a8e857ff12b5b0ed079d35913029c613a0.tar.gz
remove unneeded exports
and some minor refactoring
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue.erl58
1 files changed, 24 insertions, 34 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index e333a43b9d..9899354022 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -31,8 +31,7 @@
-module(rabbit_amqqueue).
--export([start/0, recover/1, find_durable_queues/0, declare/4, delete/3,
- purge/1]).
+-export([start/0, declare/4, delete/3, purge/1]).
-export([internal_declare/2, internal_delete/1, remeasure_rates/1,
set_queue_duration/2, set_maximum_since_use/2]).
-export([pseudo_queue/2]).
@@ -70,8 +69,6 @@
-type(acktag() :: ('ack_not_on_disk' | {'ack_index_and_store', msg_id(), seq_id()})).
-spec(start/0 :: () -> 'ok').
--spec(recover/1 :: ([amqqueue()]) -> {'ok', [amqqueue()]}).
--spec(find_durable_queues/0 :: () -> [amqqueue()]).
-spec(declare/4 :: (queue_name(), boolean(), boolean(), amqp_table()) ->
amqqueue()).
-spec(lookup/1 :: (queue_name()) -> {'ok', amqqueue()} | not_found()).
@@ -139,38 +136,9 @@ start() ->
{rabbit_amqqueue_sup,
{rabbit_amqqueue_sup, start_link, []},
transient, infinity, supervisor, [rabbit_amqqueue_sup]}),
- {ok, _RealDurableQueues} = recover(DurableQueues),
+ _RealDurableQueues = recover_durable_queues(DurableQueues),
ok.
-recover(DurableQueues) ->
- {ok, _RealDurableQueues} = recover_durable_queues(DurableQueues).
-
-recover_durable_queues(DurableQueues) ->
- RealDurableQueues =
- lists:foldl(
- fun (RecoveredQ, Acc) ->
- Q = start_queue_process(RecoveredQ),
- %% We need to catch the case where a client connected to
- %% another node has deleted the queue (and possibly
- %% re-created it).
- case rabbit_misc:execute_mnesia_transaction(
- fun () ->
- Match =
- mnesia:match_object(
- rabbit_durable_queue, RecoveredQ, read),
- case Match of
- [_] -> ok = store_queue(Q),
- true;
- [] -> false
- end
- end) of
- true -> [Q|Acc];
- false -> exit(Q#amqqueue.pid, shutdown),
- Acc
- end
- end, [], DurableQueues),
- {ok, RealDurableQueues}.
-
find_durable_queues() ->
Node = node(),
%% TODO: use dirty ops instead
@@ -181,6 +149,28 @@ find_durable_queues() ->
node(Pid) == Node]))
end).
+recover_durable_queues(DurableQueues) ->
+ lists:foldl(
+ fun (RecoveredQ, Acc) ->
+ Q = start_queue_process(RecoveredQ),
+ %% We need to catch the case where a client connected to
+ %% another node has deleted the queue (and possibly
+ %% re-created it).
+ case rabbit_misc:execute_mnesia_transaction(
+ fun () ->
+ case mnesia:match_object(
+ rabbit_durable_queue, RecoveredQ, read) of
+ [_] -> ok = store_queue(Q),
+ true;
+ [] -> false
+ end
+ end) of
+ true -> [Q|Acc];
+ false -> exit(Q#amqqueue.pid, shutdown),
+ Acc
+ end
+ end, [], DurableQueues).
+
declare(QueueName, Durable, AutoDelete, Args) ->
Q = start_queue_process(#amqqueue{name = QueueName,
durable = Durable,