anchor.diff:  exec(Req, From, #state{socket = Socket} = State) ->
       case gen_tcp:send(Socket, Req) of
           ok ->
  -            NewQueue = [From|State#state.queue],
  -            {noreply, State#state{queue = NewQueue}};
  +            {noreply, State#state{pid_from = From}};
           {error, Reason} ->
               {reply, {error, Reason}, State}
       end.
  
positive.code:         {ok, #state{socket = Socket} = State1} ->
              case gen_tcp:send(Socket, Req) of
                  ok ->
                      NewQueue = [From|State1#state.queue],
                      {noreply, State1#state{queue = NewQueue}};
                  {error, Reason} ->
                      {reply, {error, Reason}, State1}
              end;
  
negative.code: %% @private
  -spec(handle_response(binary(), #state{}) ->
               #state{}).
  handle_response(Data, #state{pid_from = From, 
                               socket = Socket,
                               nreq   = NumReq} = State) ->
      reply(Data, From),
      case NumReq of
          ?MAX_REQ_PER_CON ->
              catch gen_tcp:close(Socket),
              State#state{pid_from = undefined, socket = undefined, nreq = 0};
          _ ->
              State#state{pid_from = undefined, nreq = NumReq + 1}
      end.
  
  
  %% @doc: Send data to the client
  %% @private
  reply(Value, undefined) ->
      error_logger:warning_msg(
        "~p,~p,~p,~p~n",
        [{module, ?MODULE_STRING}, {function, "reply/2"},
         {line, ?LINE}, {body, Value}]),
      throw(empty_client);
  
  reply(Value, From) ->
      gen_server:reply(From, {ok, Value}).
  
  %% @doc: Connect to server
  %% @private
  