summaryrefslogtreecommitdiff
path: root/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-05-17 17:55:40 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-05-17 17:55:40 +0100
commit426d6249a87438fd45c4190ffa8a1c6ab8d9ab10 (patch)
tree375c0f231314c308c58747c1354e3faa72900258 /deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl
parent20d8d6c0a0a93e0e08a0df8e780c7618fe016d5b (diff)
downloadrabbitmq-server-git-426d6249a87438fd45c4190ffa8a1c6ab8d9ab10.tar.gz
Federate based on policy.
Diffstat (limited to 'deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl')
-rw-r--r--deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl12
1 files changed, 4 insertions, 8 deletions
diff --git a/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl b/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl
index 0cba6336e1..96e4e28d38 100644
--- a/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl
+++ b/deps/rabbitmq_federation/src/rabbit_federation_link_sup.erl
@@ -31,7 +31,7 @@ start_link(Args) -> supervisor2:start_link(?MODULE, Args).
adjust(Sup, X, everything) ->
[stop(Sup, Upstream) ||
{Upstream, _, _, _} <- supervisor2:which_children(Sup)],
- case upstream_set(X) of
+ case rabbit_federation_upstream:for(X) of
{ok, UpstreamSet} ->
[{ok, _Pid} = supervisor2:start_child(Sup, Spec) ||
Spec <- specs(UpstreamSet, X)];
@@ -58,7 +58,7 @@ adjust(Sup, X, {connection, ConnName}) ->
[start(Sup, NewUpstream, X) || NewUpstream <- NewUpstreams];
adjust(Sup, X, {clear_connection, ConnName}) ->
- prune_for_upstream_set(<<"all">>, X),
+ prune_for_upstream_set(<<"all">>, X), %% TODO this is broken
[stop(Sup, Upstream) || Upstream <- children(Sup, ConnName)];
%% TODO handle changes of upstream sets minimally (bug 24853)
@@ -87,19 +87,15 @@ children(Sup, ConnName) ->
ConnName, [U || {U, _, _, _} <- supervisor2:which_children(Sup)]).
upstreams(X, ConnName) ->
- case upstream_set(X) of
+ case rabbit_federation_upstream:for(X) of
{ok, UpstreamSet} ->
rabbit_federation_upstream:from_set(UpstreamSet, X, ConnName);
{error, not_found} ->
[]
end.
-upstream_set(_X) ->
- %% TODO ahem
- {ok, <<"all">>}.
-
prune_for_upstream_set(Set, X = #exchange{name = XName}) ->
- case upstream_set(X) of
+ case rabbit_federation_upstream:for(X) of
{ok, Set} -> Us = rabbit_federation_upstream:from_set(Set, X),
ok = rabbit_federation_db:prune_scratch(XName, Us);
_ -> ok