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); } }
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); } }
void ProcessQueue() { while (End != true) { if (BufferQueue.Count != 0) { var buffer = BufferQueue.Dequeue(); while (ProcessBuffer(ref buffer) > 0) { ; } } } }