From a04151e688705c47af821f5287185a26e1beead5 Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Mon, 19 Jul 2010 15:26:13 +0100 Subject: flesh out vq API with funs useful for testing --- src/rabbit_variable_queue.erl | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index ac3128d4..5a53e2bd 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -41,6 +41,9 @@ -export([start/1]). +%% exported for testing only +-export([start_msg_store/2, stop_msg_store/0]). + %%---------------------------------------------------------------------------- %% Definitions: @@ -344,11 +347,15 @@ start(DurableQueues) -> {AllTerms, StartFunState} = rabbit_queue_index:recover(DurableQueues), - Refs = [Ref || Terms <- AllTerms, - begin - Ref = proplists:get_value(persistent_ref, Terms), - Ref =/= undefined - end], + start_msg_store( + [Ref || Terms <- AllTerms, + begin + Ref = proplists:get_value(persistent_ref, Terms), + Ref =/= undefined + end], + StartFunState). + +start_msg_store(Refs, StartFunState) -> ok = rabbit_sup:start_child(?TRANSIENT_MSG_STORE, rabbit_msg_store, [?TRANSIENT_MSG_STORE, rabbit_mnesia:dir(), undefined, {fun (ok) -> finished end, ok}]), @@ -356,6 +363,10 @@ start(DurableQueues) -> [?PERSISTENT_MSG_STORE, rabbit_mnesia:dir(), Refs, StartFunState]). +stop_msg_store() -> + ok = rabbit_sup:stop_child(?PERSISTENT_MSG_STORE), + ok = rabbit_sup:stop_child(?TRANSIENT_MSG_STORE). + init(QueueName, IsDurable, _Recover) -> {DeltaCount, Terms, IndexState} = rabbit_queue_index:init( -- cgit v1.2.1