anchor.diff:  -record(statedata,
   		{address :: inet:ip_address(),
   		port :: pos_integer(),
  +		radius_fsm :: pid(),
   		secret :: binary(),
   		session_id:: {NAS :: inet:ip_address() | string(),
   				Port :: string(), Peer :: string()},
  -		socket :: term(),
  +		req_auth :: binary(),
  +		req_attr :: radius_attributes:attributes(),
   		subscriber :: binary()}).
   
   -define(TIMEOUT, 30000).
  
positive.code: %% @see //stdlib/gen_fsm:init/1
  %% @private
  %%
  init([Address, Port, Secret, SessionID] = _Args) ->
  	StateData = #statedata{address = Address, port = Port,
  		secret = Secret, session_id = SessionID},
  	process_flag(trap_exit, true),
  	{ok, send_response, StateData, ?TIMEOUT}.
  
  -spec send_response(Event :: timeout | term(), StateData :: #statedata{}) ->
  	Result :: {next_state, NextStateName :: atom(), NewStateData :: #statedata{}}
  		| {next_state, NextStateName :: atom(), NewStateData :: #statedata{},
  		Timeout :: non_neg_integer() | infinity}
  
negative.code: -export([]).
  
  %% export the ocs_simple_auth_fsm state callbacks
  -export([request/2]).
  
  %% export the call backs needed for gen_fsm behaviour
  -export([init/1, handle_event/3, handle_sync_event/4, handle_info/3,
  