…
This commit is contained in:
@@ -6,6 +6,7 @@ namespace MareSynchronosStaticFilesServer.Utils;
|
|||||||
public sealed class BlockFileDataSubstream : IDisposable
|
public sealed class BlockFileDataSubstream : IDisposable
|
||||||
{
|
{
|
||||||
private readonly MemoryStream _headerStream;
|
private readonly MemoryStream _headerStream;
|
||||||
|
private readonly BinaryWriter _headerStreamWriter;
|
||||||
private readonly FileStream _dataStream;
|
private readonly FileStream _dataStream;
|
||||||
private int _headerPosition = 0;
|
private int _headerPosition = 0;
|
||||||
private long _dataPosition = 0;
|
private long _dataPosition = 0;
|
||||||
@@ -17,9 +18,9 @@ public sealed class BlockFileDataSubstream : IDisposable
|
|||||||
public BlockFileDataSubstream(FileStream dataStream)
|
public BlockFileDataSubstream(FileStream dataStream)
|
||||||
{
|
{
|
||||||
_headerStream = new MemoryStream();
|
_headerStream = new MemoryStream();
|
||||||
using var headerStreamWriter = new BinaryWriter(_headerStream);
|
_headerStreamWriter = new BinaryWriter(_headerStream);
|
||||||
headerStreamWriter.Write(Encoding.ASCII.GetBytes("#" + new FileInfo(dataStream.Name).Name + ":" + dataStream.Length.ToString(CultureInfo.InvariantCulture) + "#"));
|
_headerStreamWriter.Write(Encoding.ASCII.GetBytes("#" + new FileInfo(dataStream.Name).Name + ":" + dataStream.Length.ToString(CultureInfo.InvariantCulture) + "#"));
|
||||||
headerStreamWriter.Flush();
|
_headerStreamWriter.Flush();
|
||||||
_headerStream.Position = 0;
|
_headerStream.Position = 0;
|
||||||
_dataStream = dataStream;
|
_dataStream = dataStream;
|
||||||
}
|
}
|
||||||
@@ -67,6 +68,7 @@ public sealed class BlockFileDataSubstream : IDisposable
|
|||||||
{
|
{
|
||||||
if (_disposed) return;
|
if (_disposed) return;
|
||||||
_headerStream.Dispose();
|
_headerStream.Dispose();
|
||||||
|
_headerStreamWriter.Dispose();
|
||||||
_dataStream.Dispose();
|
_dataStream.Dispose();
|
||||||
_disposed = true;
|
_disposed = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user