Ejemplo n.º 1
0
 private void OnMessage(IMessageParser parser)
 {
     ByteMessageParser bytes = new ByteMessageParser(parser.Topic, parser.ParseBytes(), parser.EndPoint);
     bool discard = false;
     lock (_lock)
     {
         if (_msgQueue.Count >= _maxSize)
         {
             discard = true;
         }
         else
         {
             _msgQueue.Add(bytes);
             Monitor.Pulse(_lock);
         }
     }
     OnTopicMessage discardMsg = DiscardEvent;
     if (discard && discardMsg != null)
     {
         discardMsg(bytes);
     }
 }
Ejemplo n.º 2
0
        private void OnMessage(IMessageParser parser)
        {
            ByteMessageParser bytes = new ByteMessageParser(parser.Topic, parser.ParseBytes(), parser.EndPoint);
            bool discard            = false;

            lock (_lock)
            {
                if (_msgQueue.Count >= _maxSize)
                {
                    discard = true;
                }
                else
                {
                    _msgQueue.Add(bytes);
                    Monitor.Pulse(_lock);
                }
            }
            OnTopicMessage discardMsg = DiscardEvent;

            if (discard && discardMsg != null)
            {
                discardMsg(bytes);
            }
        }