anchor.diff:      {noreply, NewState :: state()} |
       {noreply, NewState :: state(), timeout() | hibernate} |
       {stop, Reason :: term(), NewState :: state()}.
  +handle_cast(disconnect, State) ->
  +    {stop, normal, State};
   handle_cast({send, Msg}, #state{status = ready} = State) ->
       case send_message(State, Msg) of
           {ok, NewState} ->
  
positive.code:                     SessionId, ProviderId, Domain, Host, Port,
                      Transport, Timeout
                  ),
                  ok = proc_lib:init_ack({ok, self()}),
                  protocol_utils:reset_reconnect_interval(ProviderId, Intervals),
                  gen_server2:enter_loop(?MODULE, [], State, ?PROTO_CONNECTION_TIMEOUT)
              catch
  
negative.code: %% API
  -export([
      connect_to_provider/7,
      close/1,
      send_sync/2, send_async/2
  ]).
  
  