anchor.diff:  %% API
   -export([start_link/4, add_peers/2, uploaded_data/2, downloaded_data/2,
   	peer_interested/1, peer_not_interested/1, peer_choked/1,
  -	peer_unchoked/1, got_piece_from_peer/2]).
  +	peer_unchoked/1, got_piece_from_peer/2, new_incoming_peer]).
   
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
positive.code: 
  got_piece_from_peer(Pid, Index) ->
      gen_server:cast(Pid, {got_piece_from_peer, Index}).
  
  %%====================================================================
  %% gen_server callbacks
  
negative.code: 			  PI#peer_info{interested = false}
  		  end,
  		  S)};
  handle_call({new_incoming_peer, ReservedBytes, PeerId}, _From, S) ->
      case is_bad_peer(PeerId, S) of
  	true ->
  	    {reply, bad_peer, S};
  	false ->
  	    % TODO: Rewrite this to return a Pid from the started server!
  	    {reply, bad_peer, S}
      end;
  handle_call(_Request, _From, State) ->
      Reply = ok,
      {reply, Reply, State}.
  