summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2014-03-03 17:01:16 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2014-03-03 17:01:16 +0000
commit553230ebf2fba2c39dc4b93b55faeb64ee9d0059 (patch)
tree578fd31772910e01dfd9daca6dcf5833d950d354
parentff94eff11a7395b56ae7ed1ace2786e07cef4e9c (diff)
downloadrabbitmq-server-553230ebf2fba2c39dc4b93b55faeb64ee9d0059.tar.gz
propagate BQ API change
-rw-r--r--src/rabbit_backing_queue.erl5
-rw-r--r--src/rabbit_mirror_queue_master.erl6
2 files changed, 9 insertions, 2 deletions
diff --git a/src/rabbit_backing_queue.erl b/src/rabbit_backing_queue.erl
index 3d88be7a..cae939ba 100644
--- a/src/rabbit_backing_queue.erl
+++ b/src/rabbit_backing_queue.erl
@@ -209,6 +209,9 @@
%% Called immediately before the queue hibernates.
-callback handle_pre_hibernate(state()) -> state().
+%% Called when more credit has become available for credit_flow.
+-callback resume(state()) -> state().
+
%% Used to help prioritisation in rabbit_amqqueue_process. The rate of
%% inbound messages and outbound messages at the moment.
-callback msg_rates(state()) -> {float(), float()}.
@@ -240,7 +243,7 @@ behaviour_info(callbacks) ->
{fetch, 2}, {ack, 2}, {requeue, 2}, {ackfold, 4}, {fold, 3}, {len, 1},
{is_empty, 1}, {depth, 1}, {set_ram_duration_target, 2},
{ram_duration, 1}, {needs_timeout, 1}, {timeout, 1},
- {handle_pre_hibernate, 1}, {msg_rates, 1}, {status, 1},
+ {handle_pre_hibernate, 1}, {resume, 1}, {msg_rates, 1}, {status, 1},
{invoke, 3}, {is_duplicate, 2}] ;
behaviour_info(_Other) ->
undefined.
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl
index 7bf6bd4a..b5ae1aca 100644
--- a/src/rabbit_mirror_queue_master.erl
+++ b/src/rabbit_mirror_queue_master.erl
@@ -21,7 +21,7 @@
discard/3, fetch/2, drop/2, ack/2, requeue/2, ackfold/4, fold/3,
len/1, is_empty/1, depth/1, drain_confirmed/1,
dropwhile/2, fetchwhile/4, set_ram_duration_target/2, ram_duration/1,
- needs_timeout/1, timeout/1, handle_pre_hibernate/1,
+ needs_timeout/1, timeout/1, handle_pre_hibernate/1, resume/1,
msg_rates/1, status/1, invoke/3, is_duplicate/2]).
-export([start/1, stop/0]).
@@ -353,6 +353,10 @@ handle_pre_hibernate(State = #state { backing_queue = BQ,
backing_queue_state = BQS }) ->
State #state { backing_queue_state = BQ:handle_pre_hibernate(BQS) }.
+resume(State = #state { backing_queue = BQ,
+ backing_queue_state = BQS }) ->
+ State #state { backing_queue_state = BQ:resume(BQS) }.
+
msg_rates(#state { backing_queue = BQ, backing_queue_state = BQS }) ->
BQ:msg_rates(BQS).