anchor.diff:      handle_feed_completion(State);
   handle_messages([<<"{\"last_seq\":", _/binary>>], State) ->
       handle_feed_completion(State);
  -handle_messages([Chunk|Rest], State) ->
  -    #state{
  -        count = Count,
  -        partial_chunk = Partial,
  -        rows = Rows
  -    } = State,
  +handle_messages([Chunk|Rest], #state{partial_chunk = Partial} = State) ->
       NewState = try
           Row = {Props} = decode_row(<<Partial/binary, Chunk/binary>>),
           case State of
           #state{reply_to=nil} ->
  +            {Rows2, Count2} = queue_changes_row(Row, State),
               State#state{
  -                count = Count+1,
                   last_seq = couch_util:get_value(<<"seq">>, Props),
                   partial_chunk = <<>>,
  -                rows=queue:in(Row,Rows)
  +                rows = Rows2,
  +                count = Count2
               };
           #state{count=0, reply_to=From}->
               gen_server:reply(From, [Row]),
  
positive.code:         ?LOG_INFO("source doesn't have _changes, trying _all_docs_by_seq", []),
          Self = self(),
          BySeqPid = spawn_link(fun() -> by_seq_loop(Self, Source, Since) end),
          {ok, #state{last_seq=Since, changes_loop=BySeqPid, init_args=Args}};
      {ibrowse_async_headers, ReqId, Code, _} ->
          {stop, {changes_error_code, list_to_integer(Code)}}
      after 10000 ->
  
negative.code:     },
      {ibrowse_req_id, ReqId} = couch_rep_httpc:request(Req),
      Args = [Parent, Req, Since, PostProps],
      State = #state{
          conn = Pid,
          last_seq = Since,
          reqid = ReqId,
          init_args = Args,
          doc_ids = get_value(<<"doc_ids">>, PostProps, nil)
      },
  
      receive
      {ibrowse_async_headers, ReqId, "200", _} ->
          ibrowse:stream_next(ReqId),
          {ok, State};
      {ibrowse_async_headers, ReqId, Code, Hdrs}
              when Code =:= "301"; Code =:= "302"; Code =:= "303" ->
          {ReqId2, Req2} = redirect_req(Req, Code, Hdrs),
          receive
          {ibrowse_async_headers, ReqId2, "200", _} ->
              {ok, State#state{
                  conn = Req2#http_db.conn,
                  reqid = ReqId2,
                  init_args = [Parent, Req2, Since, PostProps]}};
          {ibrowse_async_headers, ReqId2, "405", _} when Method =:= post ->
              {ReqId3, Req3} = req_no_builtin_doc_ids(Req2, ReqId2),
              receive
              {ibrowse_async_headers, ReqId3, "200", _} ->
                  {ok, State#state{
                      conn = Req3#http_db.conn,
                      reqid = ReqId3,
                      init_args = [Parent, Req3, Since, PostProps]}}
              after 30000 ->
                  {stop, changes_timeout}
              end
          after 30000 ->
              {stop, changes_timeout}
          end;
  