anchor.diff:  		   
   %% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
   
  -%%% ######## Error in the initialisation ####
  -
   callback_mode() ->
       handle_event_function.
  -
  -handle_event(_, _Event, {init_error,Error}, _) ->
  -    case Error of
  -	{badmatch,{error,enotconn}} ->
  -	    %% Handles the abnormal sequence:
  -	    %%    SYN->
  -	    %%            <-SYNACK
  -	    %%    ACK->
  -	    %%    RST->
  -	    {stop, {shutdown,"TCP connenction to server was prematurely closed by the client"}};
  -
  -	OtherError ->
  -	    {stop, {shutdown,{init,OtherError}}}
  -    end;
  -
   
   %%% ######## {hello, client|server} ####
   %% The very first event that is sent when the we are set as controlling process of Socket
  
positive.code: -type renegotiate_flag() :: init | renegotiate.
  
  -type state_name() :: 
  	{init_error,any()}
        | {hello, role()}
        | {kexinit, role(), renegotiate_flag()}
        | {key_exchange, role(), renegotiate_flag()}
        | {key_exchange_dh_gex_init, server, renegotiate_flag()}
  
negative.code: 	]).
  
  %%% Behaviour callbacks
  -export([init/1, callback_mode/0, handle_event/4, terminate/3,
  	 format_status/2, code_change/4]).
  
  %%% Exports not intended to be used :). They are used for spawning and tests
  