40 lines
757 B
C#
40 lines
757 B
C#
using System.IO;
|
|||
|
|
using Crysome.Common.Network.Packets;
|
||
|
|
|
||
|
|
namespace Crysome.Common.Network.FileTransfer;
|
||
|
|
|
||
|
|
public sealed class FtStartPacket : IPacket
|
||
|
|
{
|
||
|
|
public uint TransferId;
|
||
|
|
|
||
|
|
public string FileName;
|
||
|
|
|
||
|
|
public int TotalChunks;
|
||
|
|
|
||
|
|
public int ChunkSize;
|
||
|
|
|
||
|
|
public long TotalBytes;
|
||
|
|
|
||
|
|
public byte[] Sha256;
|
||
|
|
|
||
|
|
public void Write(BinaryWriter w)
|
||
|
|
{
|
||
|
|
w.Write(TransferId);
|
||
|
|
w.Write(FileName ?? "");
|
||
|
|
w.Write(TotalChunks);
|
||
|
|
w.Write(ChunkSize);
|
||
|
|
w.Write(TotalBytes);
|
||
|
|
w.Write(Sha256 ?? new byte[32]);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void Read(BinaryReader r)
|
||
|
|
{
|
||
|
|
TransferId = r.ReadUInt32();
|
||
|
|
FileName = r.ReadString();
|
||
|
|
TotalChunks = r.ReadInt32();
|
||
|
|
ChunkSize = r.ReadInt32();
|
||
|
|
TotalBytes = r.ReadInt64();
|
||
|
|
Sha256 = r.ReadBytes(32);
|
||
|
|
}
|
||
|
|
}
|