summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Videla <videlalvaro@gmail.com>2015-10-10 17:36:38 +0200
committerAlvaro Videla <videlalvaro@gmail.com>2015-10-10 17:36:38 +0200
commit06cde9069282cbb6169da10352ddff8f82825feb (patch)
treef077644076374514a0c3352302fb2598bcd654b6 /src
parent78278184dbc5c9269fa28ff2fe80e09df1187dba (diff)
downloadrabbitmq-server-git-06cde9069282cbb6169da10352ddff8f82825feb.tar.gz
adds x-queue-mode argument
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue.erl11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 65e4255a73..95bb8e1a2a 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -474,7 +474,8 @@ declare_args() ->
{<<"x-dead-letter-routing-key">>, fun check_dlxrk_arg/2},
{<<"x-max-length">>, fun check_non_neg_int_arg/2},
{<<"x-max-length-bytes">>, fun check_non_neg_int_arg/2},
- {<<"x-max-priority">>, fun check_non_neg_int_arg/2}].
+ {<<"x-max-priority">>, fun check_non_neg_int_arg/2},
+ {<<"x-queue-mode">>, fun check_queue_mode/2}].
consume_args() -> [{<<"x-priority">>, fun check_int_arg/2},
{<<"x-cancel-on-ha-failover">>, fun check_bool_arg/2}].
@@ -521,6 +522,14 @@ check_dlxrk_arg({longstr, _}, Args) ->
check_dlxrk_arg({Type, _}, _Args) ->
{error, {unacceptable_type, Type}}.
+check_queue_mode({longstr, Val}, Args) ->
+ case lists:member(Val, [<<"default">>, <<"lazy">>]) of
+ true -> ok;
+ false -> {error, invalid_queue_mode}
+ end;
+check_queue_mode({Type, _}, _Args) ->
+ {error, {unacceptable_type, Type}}.
+
list() -> mnesia:dirty_match_object(rabbit_queue, #amqqueue{_ = '_'}).
list(VHostPath) -> list(VHostPath, rabbit_queue).