anchor.diff:      {reply, ok, NewState};
   
   handle_call({chunk, {request, _, Peerset, Pid}}, _, State) ->
  -    #state{pending=Pending, requests=Requests} = State,
  +    #state{
  +        active=true,
  +        pending=Pending,
  +        requests=Requests} = State,
       Request = etorrent_utils:find(
           fun({{Index, _, _}, Peers}) ->
               (etorrent_pieceset:is_member(Index, Peerset))
  
positive.code:     {noreply, NewState};
  
  handle_info({chunk, {stored, Index, Offset, Length, Pid}}, State) ->
      #state{active=true,
          requests=Requests,
          fetched=Fetched,
          stored=Stored} = State,
  
negative.code: %% @private
  handle_info({chunk, {assigned, Index, Offset, Length, Pid}}, State) ->
      %% Load a request that was assigned by etorrent_progress
      #state{
          active=true,
          requests=Requests} = State,
      Chunk = {Index, Offset, Length},
      NewRequests = gb_trees:insert(Chunk, [Pid], Requests),
      NewState = State#state{requests=NewRequests},
      {noreply, NewState};
  
  handle_info({chunk, {dropped, Index, Offset, Length, Pid}}, State) ->
      #state{
          active=true,
          requests=Requests,
          fetched=Fetched} = State,
      Chunk = {Index, Offset, Length},
      {WasFetcher, NewFetched} = case gb_trees:lookup(Chunk, Fetched) of
          none -> {false, Fetched};
  