anchor.diff:  		timer = none,
   	        control_pid = none}).
   
  --define(SERVER, ?MODULE).
   -define(DEFAULT_REQUEST_TIMEOUT, 180).
   
   %%====================================================================
  
positive.code: 
  handle_tracker_contact(S, Event) ->
      {ok, NextContactTime, NS} = contact_tracker(S, Event),
      TimerRef = gen_fsm:start_timer(NextContactTime * 1000, may_contact),
      NS#state{timer = TimerRef}.
  
  
negative.code: %% does not return until Module:init/1 has returned.
  %%--------------------------------------------------------------------
  start_link(ControlPid, StatePid, Url, InfoHash, PeerId) ->
      gen_fsm:start_link(?MODULE,
  		       [{ControlPid, StatePid, Url, InfoHash, PeerId}],
  		       []).
  
  