anchor.diff:          {Error, Reason} ->
               {Error, Reason, S2}
       end;
  -run(get, KeyGen, _ValueGen, #state{bucket = Bucket} = State) ->
  +run(get, KeyGen, _ValueGen, #state{bucket = Bucket,
  +                                   report_fun = ReportFun} = State) ->
       {NextHost, S2} = next_host(State),
       {Host, Port} = NextHost,
       Key = KeyGen(),
       Url = url(Host, Port, Bucket, Key),
  -    case do_get({Host, Port}, Url, []) of
  -        ok ->
  -            {ok, S2};
  +    case do_get({Host, Port}, Url, [], ReportFun) of
  +        {ok, _Size} = Good ->
  +            {Good, S2};
           {Error, Reason} ->
               {Error, Reason, S2}
       end;
  -run(_Operation, _KeyGen, _ValueGen, State) ->
  -    {ok, State}.
  +run(Op, _KeyGen, _ValueGen, State) ->
  +    {error, {unknown_op, Op}, State}.
   
   %% ====================================================================
   %% Internal functions
   %% ====================================================================
   
  -insert(KeyGen, ValueGen, {Host, Port}, Bucket) ->
  +insert(KeyGen, ValueGen, {Host, Port}, Bucket, ReportFun) ->
       Key = KeyGen(),
       Url = url(Host, Port, Bucket, Key),
       Value = ValueGen(),
  -    do_put({Host, Port}, Url, [], Value).
  +    do_put({Host, Port}, Url, [], Value, ReportFun).
   
   url(Host, Port, Bucket, Key) ->
       UnparsedUrl = lists:concat(["http://", Host, ":", Port, "/", Bucket, "/", Key]),
  
positive.code:             end
      end.
  
  do_put(Host, Url, Headers, Value) ->
      case send_request(Host, Url, Headers ++ [{'Content-Type', 'application/octet-stream'}],
                        put, Value, proxy_opts()) of
          {ok, "201", _Header, _Body} ->
              ok;
          {ok, "204", _Header, _Body} ->
              ok;
          {ok, Code, _Header, _Body} ->
              {error, {http_error, Code}};
          {error, Reason} ->
  
negative.code: 
  -record(state, { client_id,
                   hosts,
                   bucket,
                   report_fun}).
  
  %% ====================================================================
  %% API
  