Exemple #1
0
        private void Messagec(MessageEventArgs e)
        {
            do
            {
                try
                {
                    OnMessage?.Invoke(this, e);
                }
                catch (Exception ex)
                {
#if COMPAT
                    Log.Error(ex.ToString());
#else
                    ex.Log();
#endif
                    Error("An exception has occurred during an OnMessage event.", ex);
                }

                lock (_forMessageEventQueue)
                {
                    if (_messageEventQueue.Count == 0 || _readyState != WebSocketState.Open)
                    {
                        _inMessage = false;
                        break;
                    }

                    e = _messageEventQueue.Dequeue();
                }
            } while (true);
        }
Exemple #2
0
        private void Messages(MessageEventArgs e)
        {
            try
            {
                OnMessage?.Invoke(this, e);
            }
            catch (Exception ex)
            {
#if COMPAT
                    Log.Error(ex.ToString());
#else
                ex.Log();
#endif
                Error("An exception has occurred during an OnMessage event.", ex);
            }

            lock (_forMessageEventQueue)
            {
                if (_messageEventQueue.Count == 0 || _readyState != WebSocketState.Open)
                {
                    _inMessage = false;
                    return;
                }

                e = _messageEventQueue.Dequeue();
            }

            ThreadPool.QueueUserWorkItem(state => Messages(e));
        }
Exemple #3
0
 private void EnqueueToMessageEventQueue(MessageEventArgs e)
 {
     lock (_forMessageEventQueue)
         _messageEventQueue.Enqueue(e);
 }