anchor.diff:  
   -spec warmed(node(), bucket_name(), pos_integer() | infinity) -> boolean().
   warmed(Node, Bucket, Timeout) ->
  -    connected_common(Node, Bucket, Timeout,
  -                     fun extract_new_response_warmed/1).
  +    do_call({server(Bucket), Node}, warmed, Timeout).
   
   -spec warmed(node(), bucket_name()) -> boolean().
   warmed(Node, Bucket) ->
  
positive.code:     true = is_boolean(R),
      R.
  
  extract_new_response_warmed(Resp) when is_list(Resp) ->
      R = proplists:get_value(warmed, Resp),
      true = is_boolean(R),
      R.
  
  -spec disable_traffic(bucket_name(), non_neg_integer() | infinity) -> ok | bad_status | mc_error().
  disable_traffic(Bucket, Timeout) ->
      gen_server:call(server(Bucket), disable_traffic, Timeout).
  
negative.code:     {reply, warming_up, State};
  handle_call(connected_and_list_vbuckets, From, State) ->
      handle_call(list_vbuckets, From, State);
  handle_call(warmed, From, #state{status = warmed} = State) ->
      %% A bucket is set to "warmed" state in ns_memcached,
      %% after the bucket is loaded in memcached and ns_server
      %% has enabled traffic to it.
      %% So, normally, a "warmed" state in ns_memcached also
      %% indicates that the bucket is also ready in memcached.
      %% But in some failure scenarios where memcached becomes
      %% unresponsive, it may take up to 10s for ns_memcached
      %% to realize there is an issue.
      %% So, in addition to checking ns_memcached state, also
      %% retrive stats from memcached to verify it is
      %% responsive.
      handle_call(verify_warmup, From, State);
  handle_call(warmed, _From, State) ->
      {reply, false, State};
  handle_call(disable_traffic, _From, State) ->
      case State#state.status of
          Status when Status =:= warmed; Status =:= connected ->
  