anchor.diff:  -record(state, {socket, addr, ops, binddn}). 
   
   -define(TIMEOUT, 120000).
  -
  --include("LDAP.hrl").
   
   start_link() ->
       gen_fsm:start_link(?MODULE, [], []).
  
positive.code: 
  handle_info({tcp, S, Bin}, StateName, #state{socket=S} = State) ->
      inet:setopts(S, [{active, once}]),
      ?MODULE:StateName({in, decode(Bin)}, State);
  
  handle_info({tcp_closed,_S}, _StateName, State) ->
      {stop, normal, State};
  
negative.code: read(_Data,  State) ->
      {stop, normal, State}.
  
  handle_event(Event, StateName, State) ->
      {stop, {StateName, undefined_event, Event}, State}.
  
  