anchor.diff:           terminate/2,
            code_change/3]).
   
  +%% gen_server state
   -record(state, {subscribers = []}).
  +
  +%% epl start timeout
  +-define(EPLWAIT, 5000).
   
   %%====================================================================
   %% API functions
  
positive.code: handle_cast({unsubscribe, Pid}, State = #state{subscribers = Subs}) ->
      NewSubs = lists:delete(Pid, Subs),
      NewState = State#state{subscribers = NewSubs},
      {noreply, NewState}.
  
  handle_info({data, _Key, _Proplist}, State = #state{subscribers = Subs}) ->
      ETSCount = get_all_ets_count(),
      ETSNodeInfo = {ETSCount},
      JSON = epl_json:encode(ETSNodeInfo, <<"ets-node-info">>),
      [Pid ! {data, JSON} || Pid <- Subs],
      {noreply, State}.
  
  terminate(_Reason, _State) ->
      ok.
  
negative.code: %%====================================================================
  
  init([]) ->
      gen_server:cast(?MODULE, epl_wait),
      {ok, #state{}}.
  
  handle_call(Request, _From, _State) ->
  