anchor.diff:      end.
   
   
  --spec load_nodes() -> [node_info()].
  +-spec load_nodes() -> nodes_map().
   load_nodes() ->
       load_nodes(?PERSIST_FILE).
   
   
  --spec load_nodes(binary()) -> [node_info()].
  +-spec load_nodes(binary()) -> nodes_map().
   load_nodes(File) ->
       case file:open(File, [read, binary, raw]) of
           {ok, IO} ->
  
positive.code:             end;
          {error, enoent} ->
              % file does not exist -> this is totally alright
              [];
          Error ->
              lager:warning("error on loading nodes file: ~p", [Error]),
              []
      end.
  
  
  
negative.code: -define(PERSIST_TIMER_INTERVAL, 60 * ?MILLIS_PER_SEC).
  -define(PERSIST_FILE, <<"nodes.json">>).
  
  -type nodes_map() :: #{node() => node_info()}.
  
  -record(state, {
            nodes :: nodes_map(),
            persist_timer :: reference() | undefined
           }).
  
  