anchor.diff:  -export([start_link/7]). 
   
   %% gen_fsm callbacks
  --export([init/1, hello/2, certify/2, cipher/2, connection/2, 
  -	 abbreviated/2, handle_event/3,
  +-export([init/1, hello/2, certify/2, cipher/2,
  +	 abbreviated/2, connection/2, handle_event/3,
            handle_sync_event/4, handle_info/3, terminate/3, code_change/4]).
   
   -record(state, {
  
positive.code: 				 session_cache = CacheHandle,
  				 private_key = Key,
  				 diffie_hellman_params = DHParams},
  	    {ok, hello, State, get_timeout(State)}
      catch   
  	throw:Error ->
  	    {stop, Error}
      end.
     
  %%--------------------------------------------------------------------
  
negative.code: connection(#hello_request{}, #state{host = Host, port = Port,
  				    socket = Socket,
  				    session = #session{own_certificate = Cert},
  				    session_cache = Cache, session_cache_cb = CacheCb,
  				    ssl_options = SslOpts,
  				    negotiated_version = Version,
  				    transport_cb = Transport,
  				    connection_states = ConnectionStates0,
  				    renegotiation = {Renegotiation, _},
  				    tls_handshake_hashes = Hashes0} = State0) ->
      Hello = ssl_handshake:client_hello(Host, Port, ConnectionStates0, SslOpts,
  				       Renegotiation, Cert),
    
      {BinMsg, ConnectionStates1, Hashes1} =
          encode_handshake(Hello, Version, ConnectionStates0, Hashes0),
  