Remove stream-like functionality from ContentReader/Writer
Use streams instead
This commit is contained in:
@@ -29,7 +29,7 @@ public sealed class VirtualDiskContentProvider : SubContentProviderBase, IVirtua
|
||||
var reader = parentElementContext.ContentReader;
|
||||
var subPath = parentElementContext.SubNativePath.Path;
|
||||
|
||||
await using var readerStream = reader.AsStream();
|
||||
await using var readerStream = reader.GetStream();
|
||||
using var discReader = new UdfReader(readerStream);
|
||||
|
||||
var fileInfo = discReader.GetFileInfo(subPath);
|
||||
|
||||
@@ -6,8 +6,6 @@ public sealed class VirtualDiskContentReader : IContentReader
|
||||
{
|
||||
private readonly Stream _stream;
|
||||
private readonly ICollection<IDisposable> _disposables;
|
||||
public int PreferredBufferSize => 1024 * 1024;
|
||||
public long? Position => _stream.Position;
|
||||
|
||||
public VirtualDiskContentReader(Stream stream, ICollection<IDisposable> disposables)
|
||||
{
|
||||
@@ -15,18 +13,7 @@ public sealed class VirtualDiskContentReader : IContentReader
|
||||
_disposables = disposables;
|
||||
}
|
||||
|
||||
public async Task<byte[]> ReadBytesAsync(int bufferSize, int? offset = null)
|
||||
{
|
||||
var data = new byte[bufferSize];
|
||||
var read = await _stream.ReadAsync(data, offset ?? 0, bufferSize);
|
||||
|
||||
return data[..read].ToArray();
|
||||
}
|
||||
|
||||
public void SetPosition(long position) => _stream.Seek(position, SeekOrigin.Begin);
|
||||
|
||||
public Stream AsStream() => _stream;
|
||||
|
||||
public Stream GetStream() => _stream;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@ public sealed class VirtualDiskContentReaderFactory : SubContentReaderBase<Virtu
|
||||
var reader = parentElementReaderContext.ContentReader;
|
||||
var subPath = parentElementReaderContext.SubNativePath;
|
||||
|
||||
var readerStream = reader.AsStream();
|
||||
var readerStream = reader.GetStream();
|
||||
var discReader = new UdfReader(readerStream);
|
||||
|
||||
var fileInfo = discReader.GetFileInfo(subPath.Path);
|
||||
|
||||
@@ -38,7 +38,7 @@ public sealed class VirtualDiskSubContentProvider : IVirtualDiskSubContentProvid
|
||||
var contentReaderFactory = _contentAccessorFactory.GetContentReaderFactory(parentElement.Provider);
|
||||
var reader = await contentReaderFactory.CreateContentReaderAsync(parentElement);
|
||||
|
||||
await using var readerStream = reader.AsStream();
|
||||
await using var readerStream = reader.GetStream();
|
||||
var discReader = new UdfReader(readerStream);
|
||||
|
||||
if (itemPath.Path.Length == 0 || itemPath.Path == Constants.SubContentProviderRootContainer)
|
||||
|
||||
Reference in New Issue
Block a user