/// <summary> /// Read from the file, but do not update the positition (in the position file) /// </summary> /// <param name="buffers">Will be cleared and then filled with all available buffers</param> /// <param name="maxNumberOfMessages">Number of wanted records (will return less if less are available)</param> public void Peek(List <byte[]> buffers, int maxNumberOfMessages) { if (buffers == null) { throw new ArgumentNullException("buffers"); } buffers.Clear(); _readFile.Peek(buffers, maxNumberOfMessages); if (buffers.Any()) { return; } if (!TryOpenNextReadFile()) { return; } _readFile.Peek(buffers, maxNumberOfMessages); }
/// <summary> /// Read from the file, but do not update the positition (in the position file) /// </summary> /// <param name="buffers">The list will be appended with all available records (max <c>maxNumberOfMessages</c> records).</param> /// <param name="maxNumberOfMessages">Number of wanted records (will return less if less are available)</param> public void Peek(List <byte[]> buffers, int maxNumberOfMessages) { if (buffers == null) { throw new ArgumentNullException("buffers"); } var initialSize = buffers.Count; _readFile.Peek(buffers, maxNumberOfMessages); if (buffers.Any()) { return; } if (!TryOpenNextReadFile()) { return; } var leftToEnqueue = maxNumberOfMessages - (buffers.Count - initialSize); _readFile.Peek(buffers, leftToEnqueue); }