anchor.diff:  	 terminate/2, code_change/3]).
   
   -record(state, {should_contact_tracker = false,
  +		queued_message = none,
   		peer_master_pid = none,
   	        state_pid = none,
   	        url = none,
  
positive.code: 	        control_pid = none}).
  
  -define(DEFAULT_REQUEST_TIMEOUT, 180).
  -define(DEFAULT_CONNECTION_TIMEOUT_INTERVAL, 1800000).
  
  %%====================================================================
  %% API
  
negative.code: %% Description: Handling all non call/cast messages
  %%--------------------------------------------------------------------
  handle_info(timeout, S) ->
      case contact_tracker(S, S#state.queued_message) of
  	{ok, Body} ->
  	    {ok, NextRequestTime, NS} = decode_and_handle_body(Body, S),
  	    {noreply,
  	     NS#state{queued_message=none},
  	     timer:seconds(NextRequestTime)};
  	{error, timedout} ->
  	    {noreply, S, timer:seconds(?DEFAULT_CONNECTION_TIMEOUT_INTERVAL)}
      end;
  