anchor.diff:  default_timeout() ->
       ?DEFAULT_TIMEOUT.
   
  -%% Construct a {Type, Bucket} tuple, if not working with the default bucket
  -maybe_bucket_type(undefined, B) ->
  -    B;
  -maybe_bucket_type(<<"default">>, B) ->
  -    B;
  -maybe_bucket_type(T, B) ->
  -    {T, B}.
  -
   %% always construct {Type, Bucket} tuple, filling in default type if needed
  -bucket_type(undefined, B) ->
  -    {<<"default">>, B};
  -bucket_type(T, B) ->
  -    {T, B}.
  -
  +bucket_type(B) ->
  +    {<<"default">>, B}.
  
positive.code: 
  -module(riak_kv_pb_counter).
  
  -include_lib("riak_pb/include/riak_kv_pb.hrl").
  -include_lib("riak_pb/include/riak_pb_kv_codec.hrl").
  -include("riak_kv_types.hrl").
  
  -behaviour(riak_api_pb_service).
  
negative.code:     Msg = riak_pb_codec:decode(Code, Bin),
      %% no special permissions for counters, just get/put
      case Msg of
          #rpbcountergetreq{bucket=B} ->
              Bucket = bucket_type(B),
              {ok, Msg, {"riak_kv.get", Bucket}};
          #rpbcounterupdatereq{bucket=B} ->
              Bucket = bucket_type(B),
              {ok, Msg, {"riak_kv.put", Bucket}}
      end.
  
  