anchor.diff:                          binary_to_existing_atom(V, latin1)} | Acc]
                 end, []),
       {reply, Reply, State};
  -handle_call(list_vbuckets, _From, State) ->
  +do_handle_call(list_vbuckets, _From, State) ->
       Reply = mc_client_binary:stats(
                 State#state.sock, <<"vbucket">>,
                 fun (<<"vb_", K/binary>>, V, Acc) ->
  
positive.code:                         binary_to_existing_atom(V, latin1)} | Acc]
                end, []),
      {reply, Reply, State};
  handle_call(connected, _From, #state{status=Status} = State) ->
      {reply, Status =:= connected, State};
  handle_call(flush, _From, State) ->
      Reply = mc_client_binary:flush(State#state.sock),
      {reply, Reply, State};
  handle_call({set_flush_param, Key, Value}, _From, State) ->
      Reply = mc_client_binary:set_flush_param(State#state.sock, Key, Value),
      {reply, Reply, State};
  handle_call({set_vbucket, VBucket, VBState}, _From,
              #state{sock=Sock} = State) ->
      %% This happens asynchronously, so there's no guarantee the
      %% vbucket will be in the requested state when it returns.
      Reply = mc_client_binary:set_vbucket(Sock, VBucket, VBState),
      {reply, Reply, State};
  handle_call({stats, Key}, _From, State) ->
      Reply = mc_client_binary:stats(
                State#state.sock, Key,
                fun (K, V, Acc) ->
                        [{K, V} | Acc]
                end, []),
      {reply, Reply, State};
  handle_call(topkeys, _From, State) ->
      Reply = mc_client_binary:stats(
                State#state.sock, <<"topkeys">>,
                fun (K, V, Acc) ->
  
negative.code:        bucket=Bucket}
      }.
  
  handle_call(Msg, From, State) ->
      StartTS = os:timestamp(),
      try
          do_handle_call(Msg, From, State)
      after
          EndTS = os:timestamp(),
          Diff = timer:now_diff(EndTS, StartTS),
          if
              Diff > ?SLOW_CALL_THRESHOLD_MICROS ->
                  ?log_error("call ~p took too long: ~p us", [Msg, Diff]);
              true ->
                  ok
          end
      end.
  
  do_handle_call({raw_stats, SubStat, StatsFun, StatsFunState}, _From, State) ->
      try mc_client_binary:stats(State#state.sock, SubStat, StatsFun, StatsFunState) of
          Reply ->
              {reply, Reply, State}
      catch T:E ->
              {reply, {exception, {T, E}}, State}
      end;
  do_handle_call(backfilling, _From, State) ->
      End = <<":pending_backfill">>,
      ES = byte_size(End),
      {ok, Reply} = mc_client_binary:stats(
  