anchor.diff:    binding   =  0    :: integer(),
     status    = -1    :: integer(),
     socket            :: port(),
  -  from              :: {pid(), term()}
  +  from_list = #{}   :: map()
   }).
   
   %% ----------------------------------------------------------------------------
  
positive.code: %% @private submit_sm packet sending
  %% ----------------------------------------------------------------------------
  handle_call({submit_sm, SubmitSm, _Options}, From, 
               #state{socket=Socket, seq_num=SeqNum} = State) ->
    NewSeqNum = increment(SeqNum),
    {pdu, Packet} = esmpp_pdu:submit_sm(NewSeqNum, SubmitSm), 
    send(Socket, Packet),
    {noreply, State#state{
      from    = From,
      seq_num = NewSeqNum
    }}; 
  
  %% ----------------------------------------------------------------------------
  
negative.code: %% @private Successfully sent a submit_sm request
  %% ----------------------------------------------------------------------------
  handle_info({tcp, _Socket, <<_Len:32, ?SUBMIT_SM_RESP:32, ?ESME_ROK:32,
                                Seq:32, _Data/binary>>}, 
                               #state{from_list=Clients} = State) ->
    Client = maps:get(Seq, Clients, '__undefined__'),
    gen_server:reply(Client, ok),
    {noreply, State#state{
      from_list = maps:remove(Seq, Clients)
    }};
  
  %% ----------------------------------------------------------------------------
  %% @private Connection closed
  