Browse Source

Refactor handler.

Roberto Ostinelli 5 years ago
parent
commit
82e47460fc
3 changed files with 15 additions and 10 deletions
  1. 13 0
      src/syn_backbone.erl
  2. 1 4
      src/syn_groups.erl
  3. 1 6
      src/syn_registry.erl

+ 13 - 0
src/syn_backbone.erl

@@ -28,6 +28,10 @@
 %% API
 %% API
 -export([init/0]).
 -export([init/0]).
 -export([deinit/0]).
 -export([deinit/0]).
+-export([get_event_handler_module/0]).
+
+%% macros
+-define(DEFAULT_EVENT_HANDLER_MODULE, syn_event_handler).
 
 
 %% includes
 %% includes
 -include("syn.hrl").
 -include("syn.hrl").
@@ -53,6 +57,15 @@ deinit() ->
     mnesia:delete_table(syn_groups_table),
     mnesia:delete_table(syn_groups_table),
     ok.
     ok.
 
 
+-spec get_event_handler_module() -> module().
+get_event_handler_module() ->
+    %% get handler
+    CustomEventHandler = application:get_env(syn, event_handler, ?DEFAULT_EVENT_HANDLER_MODULE),
+    %% ensure that is it loaded (not using code:ensure_loaded/1 to support embedded mode)
+    catch CustomEventHandler:module_info(exports),
+    %% return
+    CustomEventHandler.
+
 %% ===================================================================
 %% ===================================================================
 %% Internal
 %% Internal
 %% ===================================================================
 %% ===================================================================

+ 1 - 4
src/syn_groups.erl

@@ -54,7 +54,6 @@
 }).
 }).
 
 
 %% macros
 %% macros
--define(DEFAULT_EVENT_HANDLER_MODULE, syn_event_handler).
 -define(DEFAULT_MULTI_CALL_TIMEOUT_MS, 5000).
 -define(DEFAULT_MULTI_CALL_TIMEOUT_MS, 5000).
 
 
 %% includes
 %% includes
@@ -218,9 +217,7 @@ init([]) ->
             %% monitor nodes
             %% monitor nodes
             ok = net_kernel:monitor_nodes(true),
             ok = net_kernel:monitor_nodes(true),
             %% get handler
             %% get handler
-            CustomEventHandler = application:get_env(syn, event_handler, ?DEFAULT_EVENT_HANDLER_MODULE),
-            %% ensure that is it loaded (not using code:ensure_loaded/1 to support embedded mode)
-            catch CustomEventHandler:module_info(exports),
+            CustomEventHandler = syn_backbone:get_event_handler_module(),
             %% init
             %% init
             {ok, #state{
             {ok, #state{
                 custom_event_handler = CustomEventHandler
                 custom_event_handler = CustomEventHandler

+ 1 - 6
src/syn_registry.erl

@@ -46,9 +46,6 @@
     custom_event_handler = undefined :: module()
     custom_event_handler = undefined :: module()
 }).
 }).
 
 
-%% macros
--define(DEFAULT_EVENT_HANDLER_MODULE, syn_event_handler).
-
 %% includes
 %% includes
 -include("syn.hrl").
 -include("syn.hrl").
 
 
@@ -145,9 +142,7 @@ init([]) ->
             %% monitor nodes
             %% monitor nodes
             ok = net_kernel:monitor_nodes(true),
             ok = net_kernel:monitor_nodes(true),
             %% get handler
             %% get handler
-            CustomEventHandler = application:get_env(syn, event_handler, ?DEFAULT_EVENT_HANDLER_MODULE),
-            %% ensure that is it loaded (not using code:ensure_loaded/1 to support embedded mode)
-            catch CustomEventHandler:module_info(exports),
+            CustomEventHandler = syn_backbone:get_event_handler_module(),
             %% init
             %% init
             {ok, #state{
             {ok, #state{
                 custom_event_handler = CustomEventHandler
                 custom_event_handler = CustomEventHandler