summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAyanda Dube <ayanda.dube@erlang-solutions.com>2015-09-08 17:02:59 +0100
committerAyanda Dube <ayanda.dube@erlang-solutions.com>2015-10-07 08:46:40 +0100
commitc6e9ec2691c117094535329026a1454167e7cfd3 (patch)
treeacdda4f61f5d3fd7fcb1788f6e40a170ae95107f /src
parent84b91e200f57c899acac7a2bc5a571ddbd9c8abe (diff)
downloadrabbitmq-server-git-c6e9ec2691c117094535329026a1454167e7cfd3.tar.gz
Adds list_formatted/3 for dynamic display of policies.
References #62
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_policy.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rabbit_policy.erl b/src/rabbit_policy.erl
index 5bf5483272..2bd0241f05 100644
--- a/src/rabbit_policy.erl
+++ b/src/rabbit_policy.erl
@@ -29,7 +29,7 @@
-export([name/1, get/2, get_arg/3, set/1]).
-export([validate/5, notify/4, notify_clear/3]).
-export([parse_set/6, set/6, delete/2, lookup/2, list/0, list/1,
- list_formatted/1, info_keys/0]).
+ list_formatted/1, list_formatted/3, info_keys/0]).
-rabbit_boot_step({?MODULE,
[{description, "policy parameters"},
@@ -170,9 +170,17 @@ list(VHost) ->
list_formatted(VHost) ->
order_policies(list0(VHost, fun format/1)).
+list_formatted(VHost, Ref, Pid) ->
+ list0(VHost, fun format/1, Ref, Pid),
+ Pid ! {Ref, finished},
+ ok.
+
list0(VHost, DefnFun) ->
[p(P, DefnFun) || P <- rabbit_runtime_parameters:list(VHost, <<"policy">>)].
+list0(VHost, DefnFun, Ref, Pid) ->
+ [Pid ! {Ref, p(P, DefnFun)} || P <- rabbit_runtime_parameters:list(VHost, <<"policy">>)].
+
order_policies(PropList) ->
lists:sort(fun (A, B) -> pget(priority, A) < pget(priority, B) end,
PropList).