anchor.diff:      ?WARN([unknown_msg, Msg]),
       {noreply, State}.
   
  +%% @private
   handle_info({'DOWN', _Ref, process, Pid, _Reason}, S) ->
       case dict:find(Pid, S#state.torrent_dict) of
   	{ok, Id} ->
  
positive.code: store_chunk(Id, {Index, D, Ops}, {Offset, Len}, FSPid) ->
      gen_server:cast(?SERVER, {store_chunk, Id, self(), {Index, D, Ops}, {Offset, Len}, FSPid}).
  
  %%--------------------------------------------------------------------
  %% Function: putback_chunks(Pid) -> transaction
  %% Description: Find all chunks assigned to Pid and mark them as not_fetched
  %%--------------------------------------------------------------------
  -spec putback_chunks(pid()) -> ok.
  putback_chunks(Pid) ->
      gen_server:cast(?SERVER, {putback_chunks, Pid}).
  
  %%--------------------------------------------------------------------
  %% Function: endgame_remove_chunk/3
  %% Args:  Pid ::= pid()     - pid of caller
  %%        Id  ::= integer() - torrent id
  %%        IOL ::= {integer(), integer(), integer()} - {Index, Offs, Len}
  %% Description: Remove a chunk in the endgame from its assignment to a
  %%   given pid
  %%--------------------------------------------------------------------
  -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}},
  
negative.code: handle_info(_Info, State) ->
      {noreply, State}.
  
  %% @private
  terminate(_Reason, _State) ->
      ok.
  
  %% @private
  code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
  