anchor.diff:              Vclock = lists:keyfind("X-Riak-Vclock", 1, Headers),
               case do_put(Url, [State#state.client_id, Vclock], ValueGen) of
                   ok ->
  -                    disconnect(Url),
                       {ok, S2};
                   {error, Reason} ->
  -                    disconnect(Url),
                       {error, Reason, S2}
               end
       end.
  
positive.code:         {not_found, Url} ->
              case do_put(Url, [], ValueGen) of
                  ok ->
                      disconnect(Url),
                      {ok, S2};
                  {error, Reason} ->
                      disconnect(Url),
                      {error, Reason, S2}
              end;
  
  
negative.code:     Port = riak_bench_config:get(http_raw_port, 8098),
      Path = riak_bench_config:get(http_raw_path, "/raw/test"),
  
      %% If there are multiple URLs, convert the list to a tuple so we can efficiently
      %% round-robin through them.
      case length(Ips) of
          1 ->
              [Ip] = Ips,
              BaseUrls = #url { host = Ip, port = Port, path = Path },
              BaseUrlsIndex = 1;
          _ ->
              BaseUrls = list_to_tuple([ #url { host = Ip, port = Port, path = Path}
                                         || Ip <- Ips]),
              BaseUrlsIndex = random:uniform(tuple_size(BaseUrls))
      end,
  
      {ok, #state { client_id = ClientId,
                    base_urls = BaseUrls,
                    base_urls_index = BaseUrlsIndex }}.
  