anchor.diff:  
   -export([start_link/0,
            push_nci/0,
  -         clean_data/0]).
  +         clean_data/0,
  +         caller/1]).
   
   -export([init/1,
            handle_call/3,
  
positive.code: % local functions
  %------------------------------------------------------------------------------
  
  interval_timer(IntervalSec, Func) ->
      timer:apply_interval(IntervalSec*1000, ?MODULE, Func, []).
  
  nci_min_interval() ->
      {seconds, Time} = tap_config:getconfig(nci_min_interval),
  
negative.code: 
  handle_cast(start, State) ->
      DataMaxAge = data_max_age(),
      {ok, NCITimer} = interval_timer(fun nci_min_interval/0, fun push_nci/0),
      {ok, CleanTimer} = interval_timer(fun clean_interval/0, fun clean_data/0),
      {noreply, State#?STATE{nci_update_timer = NCITimer,
                             clean_timer = CleanTimer,
                             data_max_age = DataMaxAge}};
  