anchor.diff:        UReqStor = dict:store(Id, RespFun, ReqStor),  % save function, which will be called on response
         {noreply, State#state{request_storage = UReqStor}}
     end;
  -handle_call(Request, From, State =
  -  #state{socket = Socket, request_storage = RequestStorage, conn_state = CS, net_module = NetModule}) % read requests
  -  when is_record(Request, 'query'); is_record(Request, getmore) ->
  -  UpdReq = case is_record(Request, 'query') of
  -             true ->
  -               case Request#'query'.sok_overriden of
  -                 true ->
  -                   Request;
  -                 false ->
  -                   Request#'query'{slaveok = CS#conn_state.read_mode =:= slave_ok}
  -               end;
  -             false -> Request
  -           end,
  -  {ok, Id} = mc_worker_logic:make_request(Socket, NetModule, CS#conn_state.database, UpdReq),
  -  RespFun = mc_worker_logic:get_resp_fun(UpdReq, From),  % save function, which will be called on response
  -  URStorage = dict:store(Id, RespFun, RequestStorage),
  -  {noreply, State#state{request_storage = URStorage}};
  +handle_call(Request, From, State) when is_record(Request, 'query'); is_record(Request, getmore) -> % read requests
  +  process_read_request(Request, From, State);
   handle_call(Request, _, State = #state{socket = Socket, conn_state = ConnState, net_module = NetModule})
     when is_record(Request, killcursor) ->
     {ok, _} = mc_worker_logic:make_request(Socket, NetModule, ConnState#conn_state.database, Request),
     {reply, ok, State};
   handle_call({stop, _}, _From, State) -> % stop request
     {stop, normal, ok, State}.
  -
   
   %% @hidden
   handle_cast(halt, State) ->
  
positive.code: %% @hidden
  code_change(_Old, State, _Extra) ->
    {ok, State}.
  
  %% @private
  %% Parses proplist to record
  
negative.code: handle_info({NetR, _Socket, Reason}, State) when NetR =:= tcp_errror; NetR =:= ssl_error ->
    {stop, Reason, State}.
  
  %% @hidden
  terminate(_, State = #state{net_module = NetModule}) ->
      catch NetModule:close(State#state.socket).
  