anchor.diff:  init([StateFile]) ->
       % Initialize the table of unreachable nodes when the server is started.
       % The safe_ping and unsafe_ping functions aren't exported outside of
  -    % of this module so they should fail unless the server is running.
  +    % of this module so they should fail unless the server is not running.
       _ = case ets:info(unreachable_tab()) of
           undefined ->
               ets:new(unreachable_tab(), [named_table, public, bag]);
  
positive.code: % don't know the node id of a node.
  %
  safe_insert_node(IP, Port) ->
      case etorrent_dht_net:ping(IP, Port) of
          pang -> {error, timeout};
          ID   -> unsafe_insert_node(ID, IP, Port)
      end.
  
negative.code: 
  
  
  handle_call({closest_to, InputID, NumNodes}, _, State) ->
      ID = ensure_int_id(InputID),
      #state{
          buckets=Buckets,
          node_timers=NTimers,
          node_timeout=NTimeout} = State,
      AllNodes    = b_node_list(Buckets),
      Active      = active_nodes(AllNodes, NTimeout, NTimers),
      CloseNodes  = etorrent_dht:closest_to(ID, Active, NumNodes),
      % TODO - don't return the distance from this node to each node
      OutputClose = [{Dist, ensure_bin_id(OID), OIP, OPort}
                    || {Dist, OID, OIP, OPort} <- CloseNodes],
      {reply, OutputClose, State};
  
  
  