public void Stop()
 {
     if (Connected)
     {
         _connectState = ConnectState.Disconnected;
         _session.Stop();
     }
 }
 private void OnSessionMessage(ITcpSession session, byte[] data)
 {
     try
     {
         OnMessage?.Invoke(session, data);
     }
     catch (Exception e)
     {
         Logger.error($"Exception! e={e.Message}");
         session.Stop(-1);
     }
 }
 private void OnSessionWrite(ITcpSession session, byte[] data)
 {
     try
     {
         OnWrite?.Invoke(this, data);
     }
     catch (Exception e)
     {
         Logger.error($"OnWrite() exception! e={e.Message}");
         session.Stop();
     }
 }
 private void OnSessionStart(ITcpSession session)
 {
     try
     {
         OnConnected();
     }
     catch (Exception e)
     {
         Logger.error($"OnConnect() exception! e={e.Message}");
         session.Stop();
     }
 }
 private void OnSessionStart(ITcpSession session)
 {
     try
     {
         // session start callback
         OnAccept?.Invoke(session);
     }
     catch (Exception e)
     {
         Logger.error($"OnAccept() exception! e={e.Message}");
         session.Stop();
     }
 }