Esempio n. 1
0
                               private byte[] AttemptDequeue(int?tomeout)
                               {
                                   BasicDeliverEventArgs message;

                                   while (true)
                                   {
                                       //while buffer has no events
                                       if (buffer.Count() == 0)
                                       {
                                           Thread.Sleep(3000);
                                       }
                                       else
                                       {
                                           message = buffer.Dequeue();
                                           break;
                                       }
                                   }

                                   try
                                   {
                                       return(message.Body);
                                   }
                                   catch (Exception e)
                                   {
                                       throw new SerializationException("Error deserializing queued message:", e);
                                   }
                               }
Esempio n. 2
0
            internal char this[int index]
            {
                get
                {
                    char ch = '\0';
                    if (_CurrentBuffer == null)
                    {
                        if (BufferQueue.Count > 0)
                        {
                            _CurrentBuffer = (Buffer)BufferQueue.Dequeue();
                        }
                        else
                        {
                            return(ch);
                        }
                    }

                    if (!((_CurrentBuffer._offset + index - Offset) < _CurrentBuffer._size))
                    {
                        Offset         = index;
                        _CurrentBuffer = (BufferQueue.Count > 0) ? (Buffer)BufferQueue.Dequeue() : null;
                    }

                    if (_CurrentBuffer != null)
                    {
                        ch = _CurrentBuffer._charBuffer[_CurrentBuffer._offset + (index - Offset)];
                    }
                    return(ch);
                }
            }
Esempio n. 3
0
 void ProcessQueue()
 {
     while (End != true)
     {
         if (BufferQueue.Count != 0)
         {
             var buffer = BufferQueue.Dequeue();
             while (ProcessBuffer(ref buffer) > 0)
             {
                 ;
             }
         }
     }
 }