/// <summary> /// Try to dequeue a record /// </summary> /// <param name="buffer">Record dequeued</param> /// <returns><c>true</c> if there was a record available; otherwise <c>false</c></returns> public bool TryDequeue(out byte[] buffer) { if (_readFile.TryDequeue(out buffer)) { return(true); } if (!TryOpenNextReadFile()) { return(false); } return(_readFile.TryDequeue(out buffer)); }
/// <summary> /// Try to dequeue a record /// </summary> /// <param name="buffer">Record dequeued</param> /// <returns><c>true</c> if there was a record available; otherwise <c>false</c></returns> public bool TryDequeue(out byte[] buffer) { if (_readFile.TryDequeue(out buffer)) { Interlocked.Decrement(ref _count); return(true); } if (!TryOpenNextReadFile()) { return(false); } var success = _readFile.TryDequeue(out buffer); if (success) { Interlocked.Decrement(ref _count); } return(success); }