using ZeroLevel.Services.Serialization; namespace ZeroLevel.Network.FileTransfer { public sealed class FileFrame : IBinarySerializable, IFileTransferInfo { public FileTransferInfoType TransferInfoType => FileTransferInfoType.Frame; public long UploadFileTaskId { get; set; } public long Offset { get; set; } public byte[] Payload { get; set; } public ulong ChecksumL { get; set; } public ulong ChecksumH { get; set; } public void Serialize(IBinaryWriter writer) { writer.WriteLong(this.UploadFileTaskId); writer.WriteLong(this.Offset); writer.WriteBytes(this.Payload); writer.WriteULong(this.ChecksumL); writer.WriteULong(this.ChecksumH); } public void Deserialize(IBinaryReader reader) { this.UploadFileTaskId = reader.ReadLong(); this.Offset = reader.ReadLong(); this.Payload = reader.ReadBytes(); this.ChecksumL = reader.ReadULong(); this.ChecksumH = reader.ReadULong(); } } }