anchor.diff:  
   %% Send a request to the server and prepare the state for the response
   %% @private
  +%% Already encoded (for tunneled messages), but must provide Message Id
  +%% for responding to the second form of send_request.
  +send_request(#request{msg = {tunneled,MsgId,Pkt}}=Msg, State) when State#state.active =:= undefined ->
  +    Request = Msg#request{msg = {tunneled,MsgId}},
  +    ok = gen_tcp:send(State#state.sock, [MsgId|Pkt]),
  +    State#state{active = Request};
  +%% Unencoded Request (the normal PB client path)
   send_request(Request, State) when State#state.active =:= undefined ->
       Pkt = riak_pb_codec:encode(Request#request.msg),
       ok = gen_tcp:send(State#state.sock, Pkt),
  
positive.code:     Values = [ {Index, [ riak_pb_codec:decode_pair(Field) || Field <- Doc#rpbsearchdoc.fields] }
                 || Doc <- PBDocs ],
      Result = #search_results{docs=Values, max_score=MaxScore, num_found=NumFound},
      {reply, {ok, Result}, State}.
  
  %%
  %% Called after sending a message - supports returning a
  
negative.code:          mapred_bucket_stream/5, mapred_bucket_stream/6,
           search/3, search/4, search/5, search/6,
           get_index/4, get_index/5, get_index/6, get_index/7,
           default_timeout/1,
           tunnel/4]).
  
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
           terminate/2, code_change/3]).
  