anchor.diff:  -spec lookup_chunk_server(torrent_id()) -> pid().
   lookup_chunk_server(TorrentID) ->
       gproc:lookup_pid({n, l, chunk_server_key(TorrentID)}).
  +
  +-spec register_peer(torrent_id()) -> true.
  +register_peer(TorrentID) ->
  +    ChunkSrv = lookup_chunk_server(TorrentID),
  +    gen_server:call(ChunkSrv, {register_peer, self()}).
   
   chunk_server_key(TorrentID) ->
       {etorrent, TorrentID, chunk_server}.
  
positive.code: %% gproc registry entries
  -export([register_chunk_server/1,
           unregister_chunk_server/1,
           lookup_chunk_server/1]).
  
  
  %% gen_server callbacks
  
negative.code:     {ok, State}.
  
  -ifdef(TEST).
  -define(chunk_server, ?MODULE).
  
  initial_chunk_server(ID) ->
      {ok, Pid} = ?chunk_server:start_link(ID, 1, [], [{0, 2}, {1, 2}, {2, 2}]),
      true = ?chunk_server:register_peer(ID),
      Pid.
  
  chunk_server_test_() ->
  