anchor.diff:      etorrent_event_mgr:completed_torrent(Id),
       etorrent_tracker_communication:completed(TrackerPid),
       {next_state, started, S};
  +%% @todo kill this
   started({tracker_error_report, Reason}, S) ->
       io:format("Got tracker error: ~s~n", [Reason]),
       {next_state, started, S}.
   
  +%% @private
   stopped(start, S) ->
       {stop, argh, S}.
   
  +%% @private
   handle_event(Msg, SN, S) ->
       io:format("Problem: ~p~n", [Msg]),
       {next_state, SN, S}.
   
  +%% @private
   handle_sync_event(_Event, _From, StateName, State) ->
       Reply = ok,
       {reply, Reply, StateName, State}.
   
  +%% @private
   handle_info(Info, StateName, State) ->
       ?WARN([unknown_info, Info, StateName]),
       {next_state, StateName, State}.
   
  +%% @private
   terminate(_Reason, _StateName, _S) ->
       ok.
   
  +%% @private
   code_change(_OldVsn, StateName, State, _Extra) ->
       {ok, StateName, State}.
   
   %% --------------------------------------------------------------------
  +
  +%% @todo Does this function belong here?
   calculate_amount_left(Id) when is_integer(Id) ->
       Pieces = etorrent_piece_mgr:select(Id),
       lists:sum([etorrent_piece_mgr:size_piece(P) || P <- Pieces]).
   
  -
  -
  
positive.code:              S#state{tracker_pid = TrackerPid}}
      end.
  
  started(stop, S) ->
      {stop, argh, S};
  started(check_torrent, S) ->
  
negative.code: %% @author Jesper Louis Andersen <jesper.louis.andersen@gmail.com>
  %% @doc Torrent Control process
  %% <p>This process controls a Torrent Download. It is the "first"
  %% process started and it checks the torrent for correctness. When it
  %% has checked the torrent, it will start up the rest of the needed
  %% processes, attach them to the supervisor and then lay dormant for
  %% most of the time, until the torrent needs to be stopped again.</p>
  %% <p><b>Note:</b> This module is pretty old, and is a prime candidate
  %% for some rewriting.</p>
  %% @end
  -module(etorrent_t_control).
  
  -behaviour(gen_fsm).
  