anchor.diff:  %% Called after sending a message - supports returning a
   %% request id for streaming calls
   %% @private
  +after_send(#request{msg = #rpblistbucketsreq{}, ctx = {ReqId, _Client}}, 
  +           State) ->
  +    {reply, {ok, ReqId}, State};
   after_send(#request{msg = #rpblistkeysreq{}, ctx = {ReqId, _Client}}, State) ->
       {reply, {ok, ReqId}, State};
   after_send(#request{msg = #rpbmapredreq{}, ctx = {ReqId, _Client}}, State) ->
  
positive.code: mk_reqid() -> erlang:phash2(erlang:now()). % only has to be unique per-pid
  
  %% @private
  wait_for_listkeys(ReqId, Timeout) ->
      wait_for_listkeys(ReqId,Timeout,[]).
  %% @private
  wait_for_listkeys(ReqId,Timeout,Acc) ->
      receive
          {ReqId, done} -> {ok, lists:flatten(Acc)};
          {ReqId, {keys,Res}} -> wait_for_listkeys(ReqId,Timeout,[Res|Acc]);
          {ReqId, {error, Reason}} -> {error, Reason}
      after Timeout ->
              {error, {timeout, Acc}}
      end.
  
  
  
negative.code:          delete/3, delete/4, delete/5,
           delete_vclock/4, delete_vclock/5, delete_vclock/6,
           delete_obj/2, delete_obj/3, delete_obj/4,
           list_buckets/1, list_buckets/2,
           stream_list_buckets/1, stream_list_buckets/2,
           list_keys/2, list_keys/3,
           stream_list_keys/2, stream_list_keys/3,
           get_bucket/2, get_bucket/3, get_bucket/4,
           set_bucket/3, set_bucket/4, set_bucket/5,
           mapred/3, mapred/4, mapred/5,
  