anchor.diff:                   our_peer_id}).
   
   -ignore_xref([{'start_link', 1}]).
  +%%====================================================================
   
   %% @doc Starts the server.
   %% @end
  
positive.code:         {error, E}            -> {stop, E, S}
      end.
  
  %%--------------------------------------------------------------------
  %% Function: terminate(Reason, State) -> void()
  %% Description: This function is called by a gen_server when it is about to
  %% terminate. It should be the opposite of Module:init/1 and do any necessary
  %% cleaning up. When it returns, the gen_server terminates with Reason.
  %% The return value is ignored.
  %%--------------------------------------------------------------------
  terminate(_Reason, _State) ->
      ok.
  
  %%--------------------------------------------------------------------
  %% Func: code_change(OldVsn, State, Extra) -> {ok, NewState}
  %% Description: Convert process state when code is changed
  %%--------------------------------------------------------------------
  code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
  %%--------------------------------------------------------------------
  %%% Internal functions
  %%--------------------------------------------------------------------
  
  handshake(Socket, S) ->
  
negative.code: %% @author Jesper Louis Andersen <jesper.louis.andersen@gmail.com>
  %% @doc Wait for incoming connections and accept them.
  %% <p>The gen_server acceptor process timeouts immediately and
  %% awaits a handshake. If the handshake comes through, it will do the
  %% initial part of the handshake and then eventually spawn up a
  %% process to continue the peer communication.</p>
  %% <p>In other words, we only handshake here and then carry on in
  %% another process tree, linked into a supervisor tree underneath the
  %% right torrent.</p>
  %% @end
  -module(etorrent_acceptor).
  
  -behaviour(gen_server).
  