anchor.diff:  
   
   %%====================================================================
  +%% @private
   init([]) ->
       _Tid = ets:new(?TAB, [bag, protected, named_table, {keypos, #chunk.idt}]),
       D = dict:new(),
       {ok, #state{ torrent_dict = D }}.
   
  +%% @private
   handle_call({new, Id}, {Pid, _Tag}, S) ->
       ManageDict = dict:store(Pid, Id, S#state.torrent_dict),
       _ = erlang:monitor(process, Pid),
  
positive.code: 	    gb_sets:add(Pid, Set)
      end.
  
  handle_cast({store_chunk, Id, Pid, {Index, Data, Ops}, {Offset, Len}, FSPid}, S) ->
      ok = etorrent_io:write_chunk(Id, Index, Offset, Data),
      %% Add the newly fetched data to the fetched list
  
negative.code: store_chunk(Id, {Index, D, Ops}, {Offset, Len}, FSPid) ->
      gen_server:cast(?SERVER, {store_chunk, Id, self(), {Index, D, Ops}, {Offset, Len}, FSPid}).
  
  %% @doc Find all chunks assigned to Pid and mark them as not_fetched
  %%   This is called by a peer when the remote chokes.
  %% @end
  -spec putback_chunks(pid()) -> ok.
  putback_chunks(Pid) ->
      gen_server:cast(?SERVER, {putback_chunks, Pid}).
  
  %% @doc Remove a chunk in the endgame from its assignment
  %% <p>This call forces the removal of a chunk from its assigned pid()
  %% in endgame mode. It makes sure we strike out chunks which are being
  %% downloaded by other peers than the peer it was originally assigned to.</p>
  %% @end.
  -spec endgame_remove_chunk(pid(), integer(), {integer(), integer(), integer()}) -> ok.
  endgame_remove_chunk(SendPid, Id, {Index, Offset, Len}) ->
      gen_server:call(?SERVER, {endgame_remove_chunk, SendPid, Id, {Index, Offset, Len}},
  