anchor.diff:  -behaviour(gen_server).
   
   %% API
  --export([start_link/0, get_socket/0, controlling_process/2]).
  +-export([start_link/0, get_socket/0]).
   
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
positive.code: %%--------------------------------------------------------------------
  handle_call(get_socket, _From, S) ->
      {reply, {ok, S#state.listen_socket}, S};
  handle_call({controlling_process, Socket, Pid}, _From, S) ->
      {reply, gen_tcp:controlling_process(Socket, Pid), S};
  handle_call(_Request, _From, State) ->
      Reply = ok,
      {reply, Reply, State}.
  
negative.code: %%--------------------------------------------------------------------
  get_socket() ->
      gen_server:call(?SERVER, get_socket).
  
  %%====================================================================
  %% gen_server callbacks
  