anchor.diff:      {ok, State}.
   
   %%% Internal functions
  +
  +
  +%% @doc The wait interval between scans, expressed as number
  +%% of heartbeat intervals
   wait_interval() ->
  -    envy:get(pushy, detect_offline_nodes_interval, number).
  +    HeartbeatInterval = envy:get(pushy, heartbeat_interval, number),
  +    NumHeartbeats = envy:get(pushy, detect_offline_nodes_interval, number),
  +    HeartbeatInterval * NumHeartbeats.
  
positive.code: 
  -define(SERVER, ?MODULE).
  
  start_link() ->
      gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  
  init([]) ->
      random:seed(erlang:now()),
      {ok, none, wait_interval()}.
  
  handle_call(_Request, _From, State) ->
      {reply, ignored, State}.
  
negative.code: handle_cast(_Msg, State) ->
      {noreply, State}.
  
  handle_info(timeout, #state{interval = Interval} = State) ->
      pushy_node_stats:scan(),
      {noreply, State, Interval};
  handle_info(_Info, State) ->
      {noreply, State}.
  
  