anchor.diff:  -spec select_chunks_by_piecenum({pos_integer(), pos_integer()}, pos_integer()) ->
   			   {ok, {pos_integer(), term()}, non_neg_integer()} | {error, already_taken}.
   select_chunks_by_piecenum({TorrentId, Pn}, Max) ->
  -    gen_server:call(?SERVER, {select_chunks_by_piecenum, {TorrentId, Pn}, Max}).
  +    gen_server:call(?SERVER, {select_chunks_by_piecenum, {TorrentId, Pn}, Max},
  +		    infinity).
   
   
   %%====================================================================
  -%% gen_server callbacks
  -%%====================================================================
  -
  -%%--------------------------------------------------------------------
  -%% Function: init(Args) -> {ok, State} |
  -%%                         {ok, State, Timeout} |
  -%%                         ignore               |
  -%%                         {stop, Reason}
  -%% Description: Initiates the server
  -%%--------------------------------------------------------------------
   init([]) ->
       _Tid = ets:new(?TAB, [bag, protected, named_table, {keypos, #chunk.idt}]),
       D = dict:new(),
       {ok, #state{ torrent_dict = D }}.
   
  -%%--------------------------------------------------------------------
  -%% Function: %% handle_call(Request, From, State) -> {reply, Reply, State} |
  -%%                                      {reply, Reply, State, Timeout} |
  -%%                                      {noreply, State} |
  -%%                                      {noreply, State, Timeout} |
  -%%                                      {stop, Reason, Reply, State} |
  -%%                                      {stop, Reason, State}
  -%% Description: Handling call messages
  -%%--------------------------------------------------------------------
   handle_call({new, Id}, {Pid, _Tag}, S) ->
       ManageDict = dict:store(Pid, Id, S#state.torrent_dict),
       _ = erlang:monitor(process, Pid),
  
positive.code:     Reply = ok,
      {reply, Reply, State}.
  
  %%--------------------------------------------------------------------
  %% Function: handle_cast(Msg, State) -> {noreply, State} |
  %%                                      {noreply, State, Timeout} |
  %%                                      {stop, Reason, State}
  %% Description: Handling cast messages
  %%--------------------------------------------------------------------
  handle_cast({store_chunk, Id, Pid, {Index, Data, Ops}, {Offset, Len}, FSPid}, S) ->
      ok = etorrent_fs:write_chunk(FSPid, {Index, Data, Ops}),
      %% Add the newly fetched data to the fetched list
  
negative.code: %%--------------------------------------------------------------------
  -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}},
  		    infinity).
  
  %% @doc Return some chunks for downloading.
  %% @end
  