diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2010-11-29 12:40:52 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-11-29 12:40:52 +0000 |
| commit | 28fedebb44b723fb7a632d02a42fdf2519a30902 (patch) | |
| tree | 1bdee7be039e45cbdf4e5b5fce6a3ebea3d88223 | |
| parent | 7e1fa7f1cbf348eb5d6438ce4c84b4fcf8d0dee3 (diff) | |
| download | rabbitmq-server-git-28fedebb44b723fb7a632d02a42fdf2519a30902.tar.gz | |
Present the whole amqqueue record to the BQ (remove duplicated IsDurable flag, correct BQ callbacks)
| -rw-r--r-- | include/rabbit_backing_queue_spec.hrl | 3 | ||||
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_backing_queue.erl | 2 | ||||
| -rw-r--r-- | src/rabbit_invariable_queue.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_variable_queue.erl | 6 |
5 files changed, 9 insertions, 11 deletions
diff --git a/include/rabbit_backing_queue_spec.hrl b/include/rabbit_backing_queue_spec.hrl index 20230b2447..7b7f388529 100644 --- a/include/rabbit_backing_queue_spec.hrl +++ b/include/rabbit_backing_queue_spec.hrl @@ -43,8 +43,7 @@ -spec(start/1 :: ([rabbit_amqqueue:name()]) -> 'ok'). -spec(stop/0 :: () -> 'ok'). --spec(init/3 :: (rabbit_amqqueue:name(), is_durable(), attempt_recovery()) -> - state()). +-spec(init/2 :: (rabbit_types:amqqueue(), attempt_recovery()) -> state()). -spec(terminate/1 :: (state()) -> state()). -spec(delete_and_terminate/1 :: (state()) -> state()). -spec(purge/1 :: (state()) -> {purged_msg_count(), state()}). diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 2ae05300c2..08c688c7a2 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -150,8 +150,7 @@ code_change(_OldVsn, State, _Extra) -> %%---------------------------------------------------------------------------- declare(Recover, From, - State = #q{q = Q = #amqqueue{durable = IsDurable}, - backing_queue = BQ, backing_queue_state = undefined, + State = #q{q = Q, backing_queue = BQ, backing_queue_state = undefined, stats_timer = StatsTimer}) -> case rabbit_amqqueue:internal_declare(Q, Recover) of not_found -> {stop, normal, not_found, State}; @@ -162,7 +161,7 @@ declare(Recover, From, ok = rabbit_memory_monitor:register( self(), {rabbit_amqqueue, set_ram_duration_target, [self()]}), - BQS = BQ:init(Q, IsDurable, Recover), + BQS = BQ:init(Q, Recover), State1 = process_args(State#q{backing_queue_state = BQS}), rabbit_event:notify(queue_created, infos(?CREATION_EVENT_KEYS, State1)), diff --git a/src/rabbit_backing_queue.erl b/src/rabbit_backing_queue.erl index 352e76fd0c..7237f0ea3c 100644 --- a/src/rabbit_backing_queue.erl +++ b/src/rabbit_backing_queue.erl @@ -48,7 +48,7 @@ behaviour_info(callbacks) -> {stop, 0}, %% Initialise the backing queue and its state. - {init, 3}, + {init, 2}, %% Called on queue shutdown when queue isn't being deleted. {terminate, 1}, diff --git a/src/rabbit_invariable_queue.erl b/src/rabbit_invariable_queue.erl index a2ed13d537..41aff18588 100644 --- a/src/rabbit_invariable_queue.erl +++ b/src/rabbit_invariable_queue.erl @@ -31,7 +31,7 @@ -module(rabbit_invariable_queue). --export([init/3, terminate/1, delete_and_terminate/1, purge/1, publish/3, +-export([init/2, terminate/1, delete_and_terminate/1, purge/1, publish/3, publish_delivered/4, fetch/2, ack/2, tx_publish/4, tx_ack/3, dropwhile/2, tx_rollback/2, tx_commit/4, requeue/3, len/1, is_empty/1, set_ram_duration_target/2, ram_duration/1, needs_idle_timeout/1, @@ -64,7 +64,7 @@ start(DurableQueues) -> stop() -> ok = rabbit_sup:stop_child(rabbit_persister). -init(#amqqueue { name = QName }, IsDurable, Recover) -> +init(#amqqueue { name = QName, durable = IsDurable }, Recover) -> Q = queue:from_list(case IsDurable andalso Recover of true -> rabbit_persister:queue_content(QName); false -> [] diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index dd39a1c266..73a68ec346 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -31,7 +31,7 @@ -module(rabbit_variable_queue). --export([init/3, terminate/1, delete_and_terminate/1, +-export([init/2, terminate/1, delete_and_terminate/1, purge/1, publish/3, publish_delivered/4, fetch/2, ack/2, tx_publish/4, tx_ack/3, tx_rollback/2, tx_commit/4, requeue/3, len/1, is_empty/1, dropwhile/2, @@ -403,7 +403,7 @@ stop_msg_store() -> ok = rabbit_sup:stop_child(?PERSISTENT_MSG_STORE), ok = rabbit_sup:stop_child(?TRANSIENT_MSG_STORE). -init(#amqqueue { name = QueueName }, IsDurable, false) -> +init(#amqqueue { name = QueueName, durable = IsDurable }, false) -> IndexState = rabbit_queue_index:init(QueueName), init(IsDurable, IndexState, 0, [], case IsDurable of @@ -412,7 +412,7 @@ init(#amqqueue { name = QueueName }, IsDurable, false) -> end, msg_store_client_init(?TRANSIENT_MSG_STORE)); -init(#amqqueue { name = QueueName }, true, true) -> +init(#amqqueue { name = QueueName, durable = true }, true) -> Terms = rabbit_queue_index:shutdown_terms(QueueName), {PRef, TRef, Terms1} = case [persistent_ref, transient_ref] -- proplists:get_keys(Terms) of |
