aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_node_groups.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_node_groups.erl')
-rw-r--r--src/ejabberd_node_groups.erl27
1 files changed, 12 insertions, 15 deletions
diff --git a/src/ejabberd_node_groups.erl b/src/ejabberd_node_groups.erl
index d86ef8ce5..b4ce42c2b 100644
--- a/src/ejabberd_node_groups.erl
+++ b/src/ejabberd_node_groups.erl
@@ -42,13 +42,7 @@
terminate/2, code_change/3]).
--record(state, {groups = []}).
-
--ifdef(SSL40).
--define(PG2, pg2).
--else.
--define(PG2, pg2_backport).
--endif.
+-record(state, {groups = [] :: [frontend | backend]}).
%%====================================================================
%% API
@@ -71,20 +65,20 @@ start_link() ->
join(Name) ->
PG = {?MODULE, Name},
- ?PG2:create(PG),
- ?PG2:join(PG, whereis(?MODULE)).
+ pg2:create(PG),
+ pg2:join(PG, whereis(?MODULE)).
leave(Name) ->
PG = {?MODULE, Name},
- ?PG2:leave(PG, whereis(?MODULE)).
+ pg2:leave(PG, whereis(?MODULE)).
get_members(Name) ->
PG = {?MODULE, Name},
- [node(P) || P <- ?PG2:get_members(PG)].
+ [node(P) || P <- pg2:get_members(PG)].
get_closest_node(Name) ->
PG = {?MODULE, Name},
- node(?PG2:get_closest_pid(PG)).
+ node(pg2:get_closest_pid(PG)).
%%====================================================================
%% gen_server callbacks
@@ -99,14 +93,17 @@ get_closest_node(Name) ->
%%--------------------------------------------------------------------
init([]) ->
Groups =
- case ejabberd_config:get_local_option(node_type) of
+ case ejabberd_config:get_local_option(
+ node_type,
+ fun(frontend) -> frontend;
+ (backend) -> backend;
+ (generic) -> generic
+ end, generic) of
frontend ->
[frontend];
backend ->
[backend];
generic ->
- [frontend, backend];
- undefined ->
[frontend, backend]
end,
lists:foreach(fun join/1, Groups),