anchor.diff:  %% External API
   -export([start_link/5]).
   
  -%% Callbacks
  --export([init/5, accept/5]).
  +%% Internal functions to use in spawn
  +-export([init/4, recv/5]).
   
   -include("leo_rpc.hrl").
   -include_lib("eunit/include/eunit.hrl").
  
positive.code:         {noreply, NewState} ->
              recv(Active, Socket, NewState, Module, Options);
          {close, State} ->
              {error, connection_closed};
          {close, DataToSend, State} ->
              gen_tcp:send(Socket, DataToSend);
          Other ->
              Other
      end.
  
  
negative.code: %% Callbacks
  %% ---------------------------------------------------------------------
  %% @doc Callback - Initialize the server
  -spec(init(Socket, State, Module, Options) ->
               ok when Socket::gen_tcp:socket(),
                       State::any(),
                       Module::module(),
                       Options::#tcp_server_params{}).
  init(Socket, State, Module, Options) ->
      ListenerOptions = Options#tcp_server_params.listen,
      Active = proplists:get_value(active, ListenerOptions),
      accept(Socket, State, Module, Active, Options).
  