anchor.diff:        {reply_stop,Msg,State}
     end;
   
  +hndl_msg({abort,_Details,_ErrorUrl}=Msg,#state{is_auth=false}=State) ->
  +  {stop,State#state{is_auth=false}};
  +
   hndl_msg(Msg,#state{is_auth=true}=State) ->
     hndl_msg_authed(Msg,State);
   
  -hndl_msg(_Msg,_State) ->
  -  erwa_sessions:unregister_session(),
  -  {stop,#state{}}.
  +hndl_msg(_Msg,State) ->
  +  {stop,State}.
   
   
   
  
positive.code: handle_info(Info,State) ->
    case hndl_info(Info,State) of
      {Result, OutMsg, State1} ->
        check_out_message(Result, OutMsg, State1);
      Other -> Other
    end.
  
  
negative.code: 
  
  close_session(#state{broker=Broker,dealer=Dealer,routing_pid=RoutingPid}) ->
    ok = case Broker of
           none -> ok;
           Broker ->
             erwa_broker:unsubscribe_all(Broker)
         end,
    ok = case Dealer of
           none -> ok;
           Dealer ->
             erwa_dealer:unregister_all(Dealer)
         end,
    ok = case RoutingPid of
           none -> ok;
           RoutingPid ->
             erwa_routing:disconnect(RoutingPid)
         end,
    ok = erwa_sessions:unregister_session(),
    ok.
  
  