anchor.diff:      sync_send_all_state_event(Pid, {application_data, 
   				    %% iolist_to_binary should really
   				    %% be called iodata_to_binary()
  -				    erlang:iolist_to_binary(Data)}, infinity).
  +				    erlang:iolist_to_binary(Data)}).
   
   %%--------------------------------------------------------------------
   -spec recv(pid(), integer(), timeout()) ->  
  
positive.code: %% mode before telling the client that it is willing to upgrade
  %% and before calling ssl:ssl_accept/2. These clauses are 
  %% here to make sure it is the users problem and not owers if
  %% they upgrade a active socket. 
  handle_sync_event(start, _, connection, State) ->
      {reply, connected, connection, State, get_timeout(State)};
  handle_sync_event(start, _From, error, {Error, State = #state{}}) ->
      {stop, {shutdown, Error}, {error, Error}, State};
  handle_sync_event(start, StartFrom, StateName, State) ->
      {next_state, StateName, State#state{start_or_recv_from = StartFrom}, get_timeout(State)};
  
  handle_sync_event(close, _, StateName, State) ->
  
negative.code:     end.
  
  sync_send_all_state_event(FsmPid, Event) ->
      try gen_fsm:sync_send_all_state_event(FsmPid, Event, infinity)
      catch
   	exit:{noproc, _} ->
   	    {error, closed};
  	exit:{normal, _} ->
  	    {error, closed};
  	exit:{shutdown, _} -> 
  