anchor.diff:  %%%-------------------------------------------------------------------
   %%% File    : info_hash_map.erl
   %%% Author  : Jesper Louis Andersen <jesper.louis.andersen@gmail.com>
  -%%% Description : Global mapping of infohashes to Peer Masters
  +%%% Description : Global mapping of infohashes to peer groups and a mapping
  +%%%   of peers we are connected to.
   %%%
   %%% Created : 31 Jul 2007 by Jesper Louis Andersen <jesper.louis.andersen@gmail.com>
   %%%-------------------------------------------------------------------
  
positive.code: %% Description: Initiates the server
  %%--------------------------------------------------------------------
  init([]) ->
      {ok, #state{info_hash_map = ets:new(infohash_map, [named_table])}}.
  
  %%--------------------------------------------------------------------
  %% Function: %% handle_call(Request, From, State) -> {reply, Reply, State} |
  
negative.code: remove_hash(InfoHash) ->
      gen_server:call(?SERVER, {remove_hash, InfoHash}).
  
  store_peer(IP, Port, InfoHash) ->
      gen_server:call(?SERVER, {store_peer, IP, Port, InfoHash}).
  
  remove_peer(IP, Port, InfoHash) ->
      gen_server:call(?SERVER, {remove_peer, IP, Port, InfoHash}).
  
  is_connected_peer(IP, Port, InfoHash) ->
      gen_server:call(?SERVER, {is_connected_peer, IP, Port, InfoHash}).
  
  lookup(InfoHash) ->
      gen_server:call(?SERVER, {lookup, InfoHash}).
  
  